Aracılığıyla paylaş


Windows Soketleri: Akış Soketleri

Uyarı

Microsoft Foundation Sınıfları (MFC) kitaplığına destek verilmeye devam ediliyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

Bu makalede, kullanılabilir iki Windows Yuvası türünden biri olan akış yuvaları açıklanmaktadır. (Diğer tür veri birimi yuvasıdır.)

Akış yuvaları, kayıt sınırları olmayan bir veri akışı sağlar: çift yönlü olabilecek bir bayt akışı (uygulama tam çift yönlüdür: yuva aracılığıyla hem iletebilir hem de alabilir). Akışlar, sıralı ve tekrarsız veriyi sağlamak için güvenilebilir. ("Sıralı", paketlerin gönderilen sırayla teslim edilmesi anlamına gelir. "Tekrarsız", belirli bir paketi yalnızca bir kez alabileceğiniz anlamına gelir.) Akış mesajlarının alınması garanti edilir ve akışlar büyük miktarda veriyi verimli bir şekilde işlemek için uygundur.

Ağ aktarım katmanı verileri makul boyutta paketler halinde bölebilir veya gruplandırabilir. CSocket Sınıf paketleme ve paketi açma işlemlerini sizin için halleder.

Akışlar açık bağlantıları temel alır: A yuvası B yuvasına bağlantı isteğinde bulunur; yuva B, bağlantı isteğini kabul eder veya reddeder.

Telefon araması, akış için iyi bir benzetmedir. Normal koşullarda, alıcı taraf, söylediklerinizi yineleme veya kayıp olmadan söylediğiniz sırayla duyar. Akış yuvaları, örneğin, ASCII veya rastgele boyuttaki ikili dosyaların aktarılmasını kolaylaştıran Dosya Aktarım Protokolü (FTP) gibi uygulamalar için uygundur.

Verilerin gelmesi garanti edildiğinde ve veri boyutu büyük olduğunda akış yuvaları, veri birimi yuvalarına tercih edilir. Akış yuvaları hakkında daha fazla bilgi için Windows Sockets belirtimine bakınız. Belirtim Windows SDK'sında kullanılabilir.

Akış soketlerini kullanmak, ağdaki tüm alıcı soketlere yayın yapmak için bir veriagram soketi kullanmak üzere tasarlanmış uygulamalardan daha üstün olabilir çünkü

  • Yayın modeli ağ taşması (veya "fırtına") sorunlarına tabidir.

  • Daha sonra benimsenen istemci-sunucu modeli daha verimlidir.

  • Akış modeli, veri birimi modelinin sağlamadığı güvenilir veri aktarımı sağlar.

  • Son model, CArchive sınıfının CSocket sınıfına sağladığı Unicode ve ANSI yuva uygulamaları arasında iletişim kurma özelliğinden yararlanır.

    Uyarı

    Eğer CSocket sınıfını kullanıyorsanız, bir akış kullanmanız gerekir. Yuva türünü SOCK_DGRAM olarak belirtirseniz MFC onaylama işlemi başarısız olur.

Ayrıca bakınız

MFC'de Windows Sockets
Windows Soketleri: Arka Plan