Aracılığıyla paylaş


Windows Yuvaları: Arka Plan

Bu makalede Windows Yuvalarının yapısı ve amacı açıklanmaktadır. Ayrıca makale:

Windows Yuvaları belirtimi, Microsoft Windows için ikili uyumlu bir ağ programlama arabirimi tanımlar. Windows Yuvaları, Berkeley'deki California Üniversitesi'nden Berkeley Yazılım Dağıtımı'nda (BSD, sürüm 4.3) UNIX yuva uygulamasını temel alır. Belirtim hem BSD stili yuva yordamlarını hem de Windows'a özgü uzantıları içerir. Windows Yuvaları'nı kullanmak, uygulamanızın Windows Yuvaları API'sine uygun herhangi bir ağ üzerinden iletişim kurmasına izin verir. Win32'de, Windows Yuvaları iş parçacığı güvenliği sağlar.

Birçok ağ yazılımı satıcısı, İletim Denetimi Protokolü/İnternet Protokolü (TCP/IP), Xerox Ağ Sistemi (XNS), Digital Equipment Corporation'ın DECNet protokolü, Novell Corporation İnternet Paket Değişimi/Sıralı Paketli Exchange (IPX/SPX) ve diğerleri dahil olmak üzere ağ protokolleri altında Windows Yuvalarını destekler. Mevcut Windows Yuvaları belirtimi TCP/IP için yuva soyutlamasını tanımlasa da, herhangi bir ağ protokolü Windows Yuvalarını uygulayan dinamik bağlantı kitaplığının (DLL) kendi sürümünü sağlayarak Windows Yuvaları ile uyumlu olabilir. Windows Yuvaları ile yazılmış ticari uygulamalara örnek olarak X Windows sunucuları, terminal öykünücüleri ve elektronik posta sistemleri verilebilir.

Dekont

Windows Yuvaları'nın amacı, bu ağ hakkında bilgi sahibi olmanız gerekmemesi ve uygulamanızın yuvaları destekleyen herhangi bir ağda çalışabilmesi için temel ağı soyutlamadır. Sonuç olarak, bu belgelerde ağ protokollerinin ayrıntıları ele alınmaz.

Microsoft Foundation Sınıf Kitaplığı (MFC), iki sınıf sağlayarak Windows Yuvaları API'siyle programlamayı destekler. Bu sınıflardan CSocketbiri olan , ağ iletişimleri programlamanızı basitleştirmek için yüksek düzeyde bir soyutlama sağlar.

Windows Yuvaları belirtimi, Windows Yuvaları: Şu anda 1.1 sürümünde olan Microsoft Windows altında Ağ Bilgi İşlem için Açık Arabirim, TCP/IP topluluğundaki büyük bir grup kişi ve kuruluş tarafından açık ağ standardı olarak geliştirilmiştir ve ücretsiz olarak kullanılabilir. Yuva programlama modeli, İnternet Protokolü Paketi kullanılarak şu anda bir "iletişim etki alanını" destekler. Belirtim Windows SDK'sında kullanılabilir.

Bahşiş

Yuvalar İnternet Protokolü Paketi'ni kullandığından, "bilgi otobanında" İnternet iletişimini destekleyen uygulamalar için tercih edilen yollardır.

Yuva tanımı

Yuva, bir iletişim uç noktasıdır; bir Windows Yuvaları uygulamasının ağ üzerinden veri paketleri gönderdiği veya aldığı nesnedir. Yuvanın türü vardır ve çalışan bir işlemle ilişkilidir ve bir adı olabilir. Şu anda yuvalar genellikle yalnızca İnternet Protokolü Paketi'ni kullanan aynı "iletişim etki alanındaki" diğer yuvalarla veri alışverişi gerçekleştirir.

Her iki yuva türü de çift yönlü; bunlar her iki yönde aynı anda (tam çift yönlü) iletişim kurabilen veri akışlarıdır.

İki yuva türü mevcuttur:

  • Akış yuvaları

    Akış yuvaları, kayıt sınırları olmayan bir veri akışı sağlar: bayt akışı. Akışlar teslim edilmesi ve doğru sıralanması ve çoğaltılması garanti edilir.

  • Veri birimi yuvaları

    Veri birimi yuvaları, teslim edilmesi garanti edilmeyen ve gönderildi veya çoğaltılmamış olarak sıralanamayan kayıt odaklı bir veri akışını destekler.

"Sıralı", paketlerin gönderilen sırayla teslim edilmesi anlamına gelir. "Yinelenenleri kaldırılmış", belirli bir paketi yalnızca bir kez edindiğiniz anlamına gelir.

Dekont

XNS gibi bazı ağ protokolleri altında akışlar, bayt akışları yerine kayıt akışları olarak kaydedilebilir. Ancak daha yaygın TCP/IP protokolü altında akışlar bayt akışlarıdır. Windows Yuvaları, temel alınan protokolden bağımsız bir soyutlama düzeyi sağlar.

Bu türler ve hangi durumlarda kullanılacak yuva türü hakkında bilgi için bkz . Windows Yuvaları: Akış Yuvaları ve Windows Yuvaları: Veri Birimi Yuvaları.

SOCKET Veri Türü

Her MFC yuva nesnesi, Windows Yuvaları nesnesine yönelik bir tanıtıcıyı kapsüller. Bu tanıtıcının veri türü SOCKET'dir. YUVA tutamacı, pencereye HWND benzer. MFC yuva sınıfları kapsüllenmiş tanıtıcı üzerinde işlemler sağlar.

SOCKET veri türü Windows SDK'sında ayrıntılı olarak açıklanmıştır. Windows Yuvaları altında "Yuva Veri Türü ve Hata Değerleri" bölümüne bakın.

Yuvalar için Kullanır

Yuvalar en az üç iletişim bağlamında son derece kullanışlıdır:

  • İstemci/sunucu modelleri.

  • Mesajlaşma uygulamaları gibi eşler arası senaryolar.

  • Alıcı uygulamanın bir iletiyi işlev çağrısı olarak yorumlamasını sağlayarak uzaktan yordam çağrıları (RPC) yapma.

Bahşiş

MFC yuvalarını kullanmak için ideal durum, iletişimin her iki ucunu da yazdığınızdadır: her iki uçta da MFC kullanmak. MFC olmayan uygulamalarla iletişim kurarken servis talebini yönetme de dahil olmak üzere bu konu hakkında daha fazla bilgi için bkz . Windows Yuvaları: Bayt Sıralama.

Daha fazla bilgi için bkz. Windows Yuva Belirtimi: ntohs, ntohl, htons, htonl. Ayrıca aşağıdaki konulara bakın:

Ayrıca bkz.

MFC'de Windows Yuvaları