共用方式為


Windows 通訊端: 通訊端的通知

本文將告訴您通訊端類別中的告知函式。 這些成員函式是在架構呼叫以通知您的通訊端物件的重要事件的回呼函式。 告知函式是:

  • OnReceive: 會告知這個通訊端為其擷取點撥打緩衝區中沒有資料 接收

  • OnSend: 通知這個通訊端,它現在可以傳送資料藉由呼叫 傳送

  • OnAccept: 會告知這個接聽通訊端,它可接受擱置連線要求,藉由呼叫 接受

  • OnConnect: 會告知這個連接的通訊端連線的嘗試完成的: 可能是成功或可能是發生錯誤。

  • OnClose: 通知它連接到通訊端已經關閉這個通訊端。

    注意事項注意事項

    其他的告知函式是 OnOutOfBandData。此通知會告訴接收通訊端傳送的封包有"超出範圍 」 要傳送的資料。群組列資料是邏輯上獨立通道連線的資料流通訊端的每一對相關聯。群組列通道通常用於傳送"緊急"的資料。MFC 支援-橫區段資料。進階使用者使用的類別 CAsyncSocket 也可能需要使用-橫區段的通道,但類別的使用者 CSocket 不建議使用它。若要建立第二個通訊端傳送這種資料是較簡單的方式。如需有關跨橫區段資料的詳細資訊,請參閱 Windows 通訊端規格,可用在Windows SDK。

如果您從類別衍生CAsyncSocket,那些網路應用程式有興趣的事件,您必須覆寫告知函式。 如果您從類別衍生一個類別CSocket,這是您選擇是否要覆寫感興趣的告知函式。 您也可以使用CSocket本身,這種情況下通知功能預設為不執行任何動作。

這些函式是可覆寫的回呼函式。 CAsyncSocketCSocket通知,以便收到新郵件的轉換,但是您必須實作通知如何運作回應,如果您想要使用它們。 告知函式會在您的通訊端受到有關事件的告知,例如要讀取的資料存在時呼叫。

MFC 呼叫告知函式,讓您自訂在告知時的通訊端的行為。 比方說,您可能會呼叫接收從您OnReceive告知函式,也就是在不通知可讀取的資料,您呼叫接收讀取它。 這種方法並沒有必要,但它是有效的案例。 或者,您可以使用您的告知函式來追蹤進度,列印追蹤的郵件,依此類推。

您可以利用這些告知方法覆寫衍生通訊端類別中的告知函式,並提供實作。

接收或傳送資料,這類的作業期間CSocket物件就會變成同步。 在同步的狀態,而目前通訊端會等候它想要的通知佇列是用來進行另一個通訊端的任何告知。 (例如,在接收的呼叫,通訊端想要讀取的通知。)一旦通訊端完成它的同步作業並且再次成為非同步,另一個通訊端可以開始接收佇列的告知。

注意事項注意事項

CSocketOnConnect絕不會呼叫告知函式。在您呼叫的連線, 連線,它會傳回該連線結束 (成功或是錯誤) 時。連接告知的處理方式是 MFC 實作細節。

如需每個告知函式的詳細資訊,請參閱在 [類別] 下的函式CAsyncSocketMFC 參考手冊 》。 如原始程式碼和 MFC 範例的相關資訊,請參閱 MFC 範例

如需詳細資訊,請參閱:

請參閱

概念

在 MFC 中的 Windows 通訊端