程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Windows Sockets:從套接字類派生

Windows Sockets:從套接字類派生

編輯:關於C語言

本文描述通過從套接字類派生您自己的類所能獲得的一些功能。

可以從 CAsyncSocket 或 CSocket 派生您自己的套接字類,從而添加您自己的功能。具體說來,這些類提供了大量可以重寫的虛擬成員函數,其中包括:OnReceive、OnSend、OnAccept、OnConnect 和 OnClose。可以重寫派生套接字類中的函數,利用它們在網絡事件發生時提供的通知。框架調用這些通知回調函數來通知您重要的套接字事件,如接收到可以開始讀取的數據。有關通知函數的更多信息,請參見 Windows Sockets:套接字通知。有關重寫通知函數的說明,請參見示例應用程序 CHATTER 和 CHATSRVR

另外, CSocket 類提供 OnMessagePending 成員函數(一個高級的可重寫函數)。當套接字抽取基於 Windows 的消息時,MFC 調用此函數。可以重寫 OnMessagePending 以查找來自 Windows 的特定消息並響應這些消息。

CSocket 類中提供的 OnMessagePending 默認版本在等待阻塞調用完成時,檢查 WM_PAINT 消息的消息隊列。它調度繪畫消息以提高顯示質量。除執行一些有用的操作外,這還說明了一種您可以自己重寫此函數的方法。作為另一個示例,可以考慮使用 OnMessagePending 執行下面的任務。假設您在等待網絡事務完成時顯示一個無模式對話框。此對話框包含一個“取消”按鈕,用戶可用該按鈕取消耗時過長的阻塞事務。重寫

OnMessagePending

可能抽取與該無模式對話框相關的消息。

OnMessagePending

重寫中,將 TRUE 或調用的返回值返回給 OnMessagePending 的基類版本。如果此基類版本執行您仍希望執行的工作,則調用此基類版本。

有關更多信息,請參見:

  • Windows Sockets:使用帶存檔的套接字
  • Windows Sockets:使用 CAsyncSocket 類
  • Windows Sockets:阻塞
  • Windows Sockets:字節排序
  • Windows Sockets:轉換字符串

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved