Aracılığıyla paylaş


Windows Yuvaları: Yuva Sınıflarından Türetme

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, yuva sınıflarından birinden kendi sınıfınızı türeterek kazanabileceğiniz bazı işlevler açıklanmaktadır.

Kendi işlevlerinizi eklemek için CAsyncSocket veya CSocket'ten kendi yuva sınıflarınızı türetebilirsiniz. Özellikle, bu sınıflar geçersiz kılabileceğiniz bir dizi sanal üye işlevi sağlar. Bu işlevler OnReceive, OnSend, OnAccept, OnConnect ve OnClose işlevlerini içerir. Ağ olayları gerçekleştiğinde sağladıkları bildirimlerden yararlanmak için türetilmiş yuva sınıfınızdaki işlevleri geçersiz kılabilirsiniz. Çerçeve, okumaya başlayabileceğiniz verilerin alınması gibi önemli yuva olaylarını size bildirmek için bu bildirim geri çağırma işlevlerini çağırır. Bildirim işlevleri hakkında daha fazla bilgi için bkz. Windows Sockets: Yuva Bildirimleri.

Ayrıca sınıf CSocket , OnMessagePending üye işlevini (gelişmiş geçersiz kılınabilir) sağlar. MFC, soket Windows tabanlı mesajları pompalarken bu işlevi çağırır. Belirli iletileri Windows'tan aramak ve yanıtlamak için OnMessagePending geçersiz kılabilirsiniz.

OnMessagePending sınıfında sağlanan CSocket'nin varsayılan sürümü, engelleyici bir çağrının tamamlanmasını beklerken ileti kuyruğunda WM_PAINT iletilerini inceler. Görüntü kalitesini artırmak için boya iletileri dağıtıyor. Kullanışlı bir şey yapmanın yanı sıra, işlevi kendiniz geçersiz kılmanın bir yolunu gösterir. Başka bir örnek olarak, aşağıdaki görev için OnMessagePending kullanmayı düşünün. Ağ işleminin tamamlanmasını beklerken modsuz bir iletişim kutusu görüntülediğinizi varsayalım. İletişim kutusu, kullanıcının çok uzun süren engelleme işlemlerini iptal etmek için kullanabileceği bir İptal düğmesi içerir. Geçersiz kılmanız OnMessagePending , bu modsuz iletişim kutusuyla ilgili iletileri pompalayabilir.

Geçersiz kıldığınızda, OnMessagePending ya TRUE ya da OnMessagePending temel sınıf sürümüne yapılan bir çağrının dönüşünü döndürün. Hala yapılmasını istediğiniz işleri gerçekleştiriyorsa temel sınıf sürümünü çağırın.

Daha fazla bilgi için bakınız:

Ayrıca bakınız

MFC'de Windows Sockets