Socket.EndSendTo(IAsyncResult) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
結束暫止的非同步傳送至指定的位置。
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 錯誤。
例外狀況
asyncResult
為 null
。
asyncResult
不會經由對 BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) 方法的呼叫傳回。
先前已針對非同步傳送呼叫 EndSendTo(IAsyncResult)。
僅限 .NET Framework、.NET Core 和 .NET 5-6:Socket已關閉 。
備註
重要
這是相容性 API。 不建議使用 APM (Begin*
和 End*
) 方法來進行新的開發。 請改用型對 Task
等專案。
EndSendTo 完成 由 BeginSendTo啟動的作業。 您必須傳遞 IAsyncResult 比 BeginSendTo 對呼叫所建立的 。
如果您使用無連線通訊協定, EndSendTo 將會封鎖直到傳送數據報為止。 如果您使用連接導向通訊協定,將會封鎖, EndSendTo 直到傳送要求的位元元組數目為止。 不保證您傳送的數據會立即出現在網路上。 為了提升網路效率,基礎系統可能會延遲傳輸,直到收集大量的傳出數據為止。 方法成功完成 BeginSendTo 表示基礎系統有空間可緩衝處理網路傳送的數據。
注意
如果您收到 SocketException,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。 取得此程式代碼之後,請參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。
注意
在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤。