Bagikan melalui


Windows Sockets: Berasal dari Kelas Soket

Artikel ini menjelaskan beberapa fungsionalitas yang dapat Anda peroleh dengan mendapatkan kelas Anda sendiri dari salah satu kelas soket.

Anda dapat memperoleh kelas soket Anda sendiri dari CAsyncSocket atau CSocket untuk menambahkan fungsionalitas Anda sendiri. Secara khusus, kelas-kelas ini menyediakan sejumlah fungsi anggota virtual yang dapat Anda ambil alih. Fungsi-fungsi ini termasuk OnReceive, OnSend, OnAccept, OnConnect, dan OnClose. Anda dapat mengambil alih fungsi di kelas soket turunan Anda untuk memanfaatkan pemberitahuan yang mereka berikan saat peristiwa jaringan terjadi. Kerangka kerja memanggil fungsi panggilan balik pemberitahuan ini untuk memberi tahu Anda tentang peristiwa soket penting, seperti tanda terima data yang dapat Anda mulai baca. Untuk informasi selengkapnya tentang fungsi pemberitahuan, lihat Windows Sockets: Notifikasi Soket.

Selain itu, kelas CSocket menyediakan fungsi anggota OnMessagePending (dapat diganti tingkat lanjut). MFC memanggil fungsi ini saat soket memompa pesan berbasis Windows. Anda dapat mengambil alih OnMessagePending untuk mencari pesan tertentu dari Windows dan meresponsnya.

Versi default OnMessagePending yang disediakan di kelas CSocket memeriksa antrean pesan terkait pesan WM_PAINT sambil menunggu menyelesaikan panggilan pemblokiran. Ini mengirimkan pesan pewarnaan untuk meningkatkan kualitas tampilan. Selain melakukan sesuatu yang berguna, ini menggambarkan salah satu cara Anda dapat mengambil alih fungsi sendiri. Sebagai contoh lain, pertimbangkan untuk menggunakan OnMessagePending untuk tugas berikut. Misalkan Anda menampilkan kotak dialog tanpa mode saat menunggu transaksi jaringan selesai. Kotak dialog berisi tombol Batalkan yang dapat digunakan pengguna untuk membatalkan pemblokiran transaksi yang memakan waktu terlalu lama. Penimpaan Anda OnMessagePending mungkin memompa pesan yang terkait dengan kotak dialog tanpa mode ini.

Dalam OnMessagePending override Anda, kembalikan TRUE atau panggilan kembali ke versi kelas dasar dari OnMessagePending. Panggil versi kelas dasar jika itu melakukan tugas yang tetap ingin Anda selesaikan.

Untuk informasi selengkapnya, lihat:

Lihat juga

Windows Sockets pada MFC