Aracılığıyla paylaş


Windows Yuvaları: Yuva Bildirimleri

Bu makalede yuva sınıflarındaki bildirim işlevleri açıklanmaktadır. Bu üye işlevleri, çerçevenin yuva nesnenize önemli olayları bildirmek için çağıran geri çağırma işlevleridir. Bildirim işlevleri şunlardır:

  • OnReceive: Bu yuvaya alma çağrısı yaparak arabellekte veri olduğunu bildirir.

  • OnSend: Bu yuvaya gönder'i çağırarak veri gönderebileceğini bildirir.

  • OnAccept: Bu dinleme yuvasını Accept çağırarak bekleyen bağlantı isteklerini kabul edebildiğini bildirir.

  • Açık Bağlan: Bu bağlantı yuvasını bağlantı girişiminin tamamlandığını bildirir: belki başarılı veya belki de hatalı.

  • OnClose: Bu yuvaya bağlandığı yuvanın kapandığını bildirir.

    Dekont

    Ek bir bildirim işlevi OnOutOfBandData'dır. Bu bildirim, alıcı yuvaya gönderen yuvada "bant dışı" verilerin gönderildiğini bildirir. Bant dışı veriler, bağlı akış yuvalarının her çiftiyle ilişkili mantıksal olarak bağımsız bir kanaldır. Bant dışı kanal genellikle "acil" veriler göndermek için kullanılır. MFC bant dışı verileri destekler. CAsyncSocket sınıfıyla çalışan ileri düzey kullanıcıların bant dışı kanalı kullanması gerekebilir, ancak CSocket sınıfındaki kullanıcıların bunu kullanmaları önerilmez. Bunun daha kolay yolu, bu tür verileri geçirmek için ikinci bir yuva oluşturmaktır. Bant dışı veriler hakkında daha fazla bilgi için bkz. Windows SDK'sında bulunan Windows Yuvaları belirtimi.

sınıfından CAsyncSockettüretilirseniz, uygulamanızın ilgilendiği ağ olayları için bildirim işlevlerini geçersiz kılmanız gerekir. sınıfından CSocketbir sınıf türetirseniz, ilgilendiğiniz bildirim işlevlerini geçersiz kılmak sizin seçiminizdir. Ayrıca kendisini de kullanabilirsiniz CSocket ; bu durumda bildirim varsayılan olarak hiçbir şey yapmadan çalışır.

Bu işlevler geçersiz kılınabilir geri çağırma işlevleridir. CAsyncSocket ve CSocket iletileri bildirimlere dönüştürün, ancak kullanmak istiyorsanız bildirim işlevlerinin nasıl yanıt verdiğini uygulamanız gerekir. Bildirim işlevleri, okunacak verilerin varlığı gibi ilgi çekici bir olayla ilgili olarak yuvanıza bildirildiğinde çağrılır.

MFC, bildirim geldiğinde yuvanızın davranışını özelleştirmenize olanak sağlamak için bildirim işlevlerini çağırır. Örneğin, bildirim işlevinizdenOnReceive, Receive yani okunacak veriler olduğu bildirildiğinde, bunu okumak için çağırabilirsinizReceive. Bu yaklaşım gerekli değildir, ancak geçerli bir senaryodur. Alternatif olarak ilerleme durumunu izlemek, TRACE iletilerini yazdırmak vb. için bildirim işlevinizi kullanabilirsiniz.

Türetilmiş bir yuva sınıfındaki bildirim işlevlerini geçersiz kılıp bir uygulama sağlayarak bu bildirimlerden yararlanabilirsiniz.

Veri alma veya gönderme gibi bir işlem sırasında nesne CSocket zaman uyumlu hale gelir. Zaman uyumlu durum sırasında, geçerli yuva istediği bildirimi beklerken diğer yuvalara yönelik tüm bildirimler kuyruğa alınır. (Örneğin, bir Receive çağrı sırasında yuva okunacak bir bildirim ister.) Yuva zaman uyumlu işlemini tamamladıktan ve yeniden zaman uyumsuz hale geldiğinde, diğer yuvalar kuyruğa alınan bildirimleri almaya başlayabilir.

Dekont

OnConnect içinde CSocketbildirim işlevi hiçbir zaman çağrılmaz. Bağlantılar için çağrısı yaptığınızda Connect, bağlantı tamamlandığında döndürülecektir (başarılı veya hatalı). Bağlantı bildirimlerinin nasıl işlenme şekli bir MFC uygulama ayrıntısıdır.

Her bildirim işlevi hakkında ayrıntılı bilgi için MFC Başvurusu'ndaki sınıfın CAsyncSocket altındaki işleve bakın. Kaynak kodu ve MFC örnekleri hakkında bilgi için bkz . MFC Örnekleri.

Daha fazla bilgi için bkz.

Ayrıca bkz.

MFC'de Windows Yuvaları