Socket.EndAccept 方法

定義

非同步接受連入連線嘗試。

多載

EndAccept(IAsyncResult)

以非同步方式接受連入的連接嘗試,並建立新的 Socket 來處理遠端主機通訊。

EndAccept(Byte[], IAsyncResult)

以非同步方式接受連入連線嘗試,並建立新的 Socket 物件,以處理遠端主機通訊。 這個方法會傳回包含已傳輸之初始資料的緩衝區。

EndAccept(Byte[], Int32, IAsyncResult)

以非同步方式接受連入連線嘗試,並建立新的 Socket 物件,以處理遠端主機通訊。 這個方法會傳回包含已傳輸之初始資料和位元組數的緩衝區。

EndAccept(IAsyncResult)

來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs

以非同步方式接受連入的連接嘗試,並建立新的 Socket 來處理遠端主機通訊。

C#
public System.Net.Sockets.Socket EndAccept(IAsyncResult asyncResult);

參數

asyncResult
IAsyncResult

IAsyncResult,儲存這個非同步作業的狀態資訊以及任何使用者定義的資料。

傳回

Socket,將處理與遠端主機的通訊。

例外狀況

asyncResultnull

asyncResult 不是由呼叫 BeginAccept(AsyncCallback, Object) 的方式所建立。

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

-或-

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

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

備註

重要

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

EndAccept 完成 由 BeginAccept啟動的作業。 您必須傳遞 IAsyncResultBeginAccept 對呼叫所建立的 。

方法 EndAccept 會封鎖,直到連入連線佇列中擱置連線為止。 方法 EndAccept 會接受傳入連線,並傳回新的 Socket ,可用來將數據傳送至遠端主機並從遠端主機接收數據。

備註

如果您收到 SocketException,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。

備註

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

另請參閱

適用於

.NET 10 和其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

EndAccept(Byte[], IAsyncResult)

來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs

以非同步方式接受連入連線嘗試,並建立新的 Socket 物件,以處理遠端主機通訊。 這個方法會傳回包含已傳輸之初始資料的緩衝區。

C#
public System.Net.Sockets.Socket EndAccept(out byte[] buffer, IAsyncResult asyncResult);

參數

buffer
Byte[]

Byte 型別的陣列,包含已傳輸的位元組。

asyncResult
IAsyncResult

IAsyncResult 物件,儲存這個非同步作業的狀態資訊以及任何使用者定義的資料。

傳回

Socket 物件,可處理與遠端主機的通訊。

例外狀況

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

asyncResult 是空的。

asyncResult 不是由呼叫 BeginAccept(AsyncCallback, Object) 的方式所建立。

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

-或-

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

備註

重要

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

EndAccept 完成 由 BeginAccept啟動的作業。 您必須傳遞 IAsyncResultBeginAccept 對呼叫所建立的 。

buffer這個多載的 參數包含呼叫中BeginAccept收到的數據,而 bytesTransferred 參數包含呼叫中傳輸的位元組數目。

方法 EndAccept 會封鎖,直到連入連線佇列中擱置連線為止。 方法 EndAccept 會接受傳入連線,並傳回新的 Socket ,可用來將數據傳送至遠端主機並從遠端主機接收數據。

備註

如果您收到 SocketException,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。

備註

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

適用於

.NET 10 和其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

EndAccept(Byte[], Int32, IAsyncResult)

來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs

以非同步方式接受連入連線嘗試,並建立新的 Socket 物件,以處理遠端主機通訊。 這個方法會傳回包含已傳輸之初始資料和位元組數的緩衝區。

C#
public System.Net.Sockets.Socket EndAccept(out byte[] buffer, out int bytesTransferred, IAsyncResult asyncResult);

參數

buffer
Byte[]

Byte 型別的陣列,包含已傳輸的位元組。

bytesTransferred
Int32

已傳輸的位元組數。

asyncResult
IAsyncResult

IAsyncResult 物件,儲存這個非同步作業的狀態資訊以及任何使用者定義的資料。

傳回

Socket 物件,可處理與遠端主機的通訊。

例外狀況

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

asyncResult 是空的。

asyncResult 不是由呼叫 BeginAccept(AsyncCallback, Object) 的方式所建立。

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

-或-

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

備註

重要

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

EndAccept 完成 由 BeginAccept啟動的作業。 您必須傳遞 IAsyncResultBeginAccept 對呼叫所建立的 。

方法 EndAccept 會封鎖,直到連入連線佇列中擱置連線為止。 方法 EndAccept 會接受傳入連線,並傳回新的 Socket ,可用來將數據傳送至遠端主機並從遠端主機接收數據。

備註

如果您收到 SocketException,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。

備註

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

適用於

.NET 10 和其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1