Windows Sockets:從通訊端類別衍生
本文說明您可以從其中一個通訊端類別衍生自己的類別,進而得到的某些功能。
您可以從 CAsyncSocket 或 CSocket 衍生您自己的通訊端類別,以加入您的功能。 特別是,這些類別提供大量可以覆寫的虛擬成員函式。 這些功能包括 OnReceive、OnSend、 OnAccept、OnConnect 和 OnClose。 您可以在您的衍生通訊端類別覆寫函式,在網路事件發生時使用它們提供的功能。 架構會呼叫這些通知回呼函式,以通知您重要的事件,例如您可以開始讀取資料的收據。 如需告知函式的詳細資訊,請參閱 Windows Sockets:通訊端告知。
此外,類別 CSocket 提供 OnMessagePending 成員函式 (可進階覆寫)。 當通訊端提取 Windows 訊息時, MFC 呼叫此函式。 您可以覆寫 OnMessagePending,搜尋來自視窗的特定資訊和回應它們。
類別 CSocket 提供的預設版本 OnMessagePending 會在等待封鎖呼叫完成時,檢查 WM_PAINT 訊息的訊息佇列。 它會繪製訊息以改善顯示品質。 除了這些好用的功能以外,以下說明您可能會覆寫函式的一種方式。 此為另一個範例,請考慮為下列工作使用 OnMessagePending 。 假設您在等待網路交易完成時,顯示非強制回應對話方塊。 對話方塊包含取消按鈕,讓使用者可以用來取消花費太久的交易。 您的 OnMessagePending 覆寫可能出現與這個非強制回應對話方塊相關的訊息。
在 OnMessagePending 的覆寫中,請傳回 TRUE 或傳回呼叫 OnMessagePending 基底類別版本的結果。 若基底類別版本執行您仍然希望完成的工作,請呼叫它。
如需詳細資訊,請參閱: