Aracılığıyla paylaş


Windows Yuvaları: Akış Yuvaları

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ı, çoğaltılmamış verileri teslim etmek için kullanılabilir. ("Sıralı", paketlerin gönderilen sırayla teslim edilmesi anlamına gelir. "Yinelenenleri Kaldırılmış", belirli bir paketi yalnızca bir kez alabileceğiniz anlamına gelir.) Akış iletilerinin alınması garanti edilir ve akışlar büyük miktarda veriyi işlemeye 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ı ister; B yuvası bağlantı isteğini kabul eder veya reddeder.

Telefon araması, akış için iyi bir benzetme sağlar. Normal koşullarda, alıcı taraf, söylediklerinizi yineleme veya kayıp olmadan, sizin söylediklerinizi sizin söylediklerinizi sırasıyla 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 bkz. Windows Yuvaları belirtimi. Belirtim Windows SDK'sında kullanılabilir.

Akış yuvalarını kullanmak, ağdaki tüm alıcı yuvalara yayınlamak için bir veri birimi yuvası 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.

    Dekont

    sınıfını CSocketkullanı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 bkz.

MFC'de Windows Yuvaları
Windows Yuvaları: Arka Plan