Socket.EndSendTo(IAsyncResult) 方法

定義

結束暫止的非同步傳送至指定的位置。

public:
 int EndSendTo(IAsyncResult ^ asyncResult);
public int EndSendTo (IAsyncResult asyncResult);
member this.EndSendTo : IAsyncResult -> int
Public Function EndSendTo (asyncResult As IAsyncResult) As Integer

參數

asyncResult
IAsyncResult

IAsyncResult,存放此非同步作業 (Asynchronous Operation) 的狀態資訊和任何使用者定義的資料。

傳回

如果成功,則傳送位元組數目,否則,則產生一個無效的 Socket 錯誤。

例外狀況

asyncResultnull

先前已針對非同步傳送呼叫 EndSendTo(IAsyncResult)

嘗試存取通訊端時發生錯誤。

-或-

只限 .NET 7+ : Socket 已關閉 。

僅限 .NET Framework、.NET Core 和 .NET 5-6:Socket已關閉 。

備註

重要

這是相容性 API。 不建議使用 APM (Begin*End*) 方法來進行新的開發。 請改用型對 Task等專案。

EndSendTo 完成 由 BeginSendTo啟動的作業。 您必須傳遞 IAsyncResultBeginSendTo 對呼叫所建立的 。

如果您使用無連線通訊協定, EndSendTo 將會封鎖直到傳送數據報為止。 如果您使用連接導向通訊協定,將會封鎖, EndSendTo 直到傳送要求的位元元組數目為止。 不保證您傳送的數據會立即出現在網路上。 為了提升網路效率,基礎系統可能會延遲傳輸,直到收集大量的傳出數據為止。 方法成功完成 BeginSendTo 表示基礎系統有空間可緩衝處理網路傳送的數據。

注意

如果您收到 SocketException,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。 取得此程式代碼之後,請參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤

適用於