Поделиться через


Socket.EndAccept Метод

Определение

Асинхронно принимает попытку входящего подключения.

Перегрузки

EndAccept(IAsyncResult)

Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом.

EndAccept(Byte[], IAsyncResult)

Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом. Этот метод возвращает буфер, который содержит начальные данные для передачи.

EndAccept(Byte[], Int32, IAsyncResult)

Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом. Этот метод возвращает буфер, который содержит начальные данные и число переданных байтов.

EndAccept(IAsyncResult)

Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs

Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом.

public:
 System::Net::Sockets::Socket ^ EndAccept(IAsyncResult ^ asyncResult);
public System.Net.Sockets.Socket EndAccept (IAsyncResult asyncResult);
member this.EndAccept : IAsyncResult -> System.Net.Sockets.Socket
Public Function EndAccept (asyncResult As IAsyncResult) As Socket

Параметры

asyncResult
IAsyncResult

Объект IAsyncResult, в котором хранятся сведения о состоянии для этой асинхронной операции, а также любые данные, определенные пользователем.

Возвращаемое значение

ОбъектSocket для связи с удаленным узлом.

Исключения

asyncResult имеет значение null.

Параметр asyncResult не был создан вызовом метода BeginAccept(AsyncCallback, Object).

Произошла ошибка при попытке доступа к сокету.

-или-

Только .NET 7 и более поздних версий Socket : объект был закрыт.

только платформа .NET Framework, .NET Core и .NET 5–6: Socket объект закрыт.

Ранее был вызван метод EndAccept(IAsyncResult).

Комментарии

Важно!

Это API совместимости. Мы не рекомендуем использовать методы APM (Begin* и End*) для разработки новых приложений. Вместо этого используйте эквиваленты на Taskоснове .

EndAcceptзавершает операцию, запущенную .BeginAccept Необходимо передать объект , IAsyncResult созданный соответствующим BeginAccept вызовом.

Метод EndAccept блокируется до тех пор, пока подключение не будет отложено в очереди входящих подключений. Метод EndAccept принимает входящее подключение и возвращает новый Socket объект , который можно использовать для отправки данных на удаленный узел и получения данных с удаленного узла.

Примечание

Если вы получаете SocketException, используйте SocketException.ErrorCode свойство , чтобы получить конкретный код ошибки.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в платформа .NET Framework.

См. также раздел

Применяется к

EndAccept(Byte[], IAsyncResult)

Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs

Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом. Этот метод возвращает буфер, который содержит начальные данные для передачи.

public:
 System::Net::Sockets::Socket ^ EndAccept([Runtime::InteropServices::Out] cli::array <System::Byte> ^ % buffer, IAsyncResult ^ asyncResult);
public System.Net.Sockets.Socket EndAccept (out byte[] buffer, IAsyncResult asyncResult);
member this.EndAccept : Byte[] * IAsyncResult -> System.Net.Sockets.Socket
Public Function EndAccept (ByRef buffer As Byte(), asyncResult As IAsyncResult) As Socket

Параметры

buffer
Byte[]

Массив типа Byte, который содержит переданные байты.

asyncResult
IAsyncResult

Объект IAsyncResult, в котором хранятся сведения о состоянии для этой асинхронной операции, а также любые данные, определенные пользователем.

Возвращаемое значение

Объект Socket для связи с удаленным узлом.

Исключения

только платформа .NET Framework, .NET Core и .NET 5–6: Socket объект закрыт.

Параметр asyncResult пуст.

Параметр asyncResult не был создан вызовом метода BeginAccept(AsyncCallback, Object).

Ранее был вызван метод EndAccept(IAsyncResult).

Произошла ошибка при попытке доступа к сокету.

-или-

Только .NET 7 и более поздних версий Socket : объект был закрыт.

Комментарии

Важно!

Это API совместимости. Мы не рекомендуем использовать методы APM (Begin* и End*) для разработки новых приложений. Вместо этого используйте эквиваленты на Taskоснове .

EndAcceptзавершает операцию, запущенную .BeginAccept Необходимо передать объект , IAsyncResult созданный соответствующим BeginAccept вызовом.

Параметр buffer этой перегрузки содержит данные, полученные в вызове , BeginAccept а bytesTransferred параметр — количество байтов, переданных в вызове.

Метод EndAccept блокируется до тех пор, пока подключение не будет отложено в очереди входящих подключений. Метод EndAccept принимает входящее подключение и возвращает новый Socket объект , который можно использовать для отправки данных на удаленный узел и получения данных с удаленного узла.

Примечание

Если вы получаете SocketException, используйте SocketException.ErrorCode свойство , чтобы получить конкретный код ошибки.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в платформа .NET Framework.

Применяется к

EndAccept(Byte[], Int32, IAsyncResult)

Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs

Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом. Этот метод возвращает буфер, который содержит начальные данные и число переданных байтов.

public:
 System::Net::Sockets::Socket ^ EndAccept([Runtime::InteropServices::Out] cli::array <System::Byte> ^ % buffer, [Runtime::InteropServices::Out] int % bytesTransferred, IAsyncResult ^ asyncResult);
public System.Net.Sockets.Socket EndAccept (out byte[] buffer, out int bytesTransferred, IAsyncResult asyncResult);
member this.EndAccept : Byte[] * int * IAsyncResult -> System.Net.Sockets.Socket
Public Function EndAccept (ByRef buffer As Byte(), ByRef bytesTransferred As Integer, asyncResult As IAsyncResult) As Socket

Параметры

buffer
Byte[]

Массив типа Byte, который содержит переданные байты.

bytesTransferred
Int32

Количество переданных байтов.

asyncResult
IAsyncResult

Объект IAsyncResult, в котором хранятся сведения о состоянии для этой асинхронной операции, а также любые данные, определенные пользователем.

Возвращаемое значение

Объект Socket для связи с удаленным узлом.

Исключения

только платформа .NET Framework, .NET Core и .NET 5–6: Socket объект закрыт.

Параметр asyncResult пуст.

Параметр asyncResult не был создан вызовом метода BeginAccept(AsyncCallback, Object).

Ранее был вызван метод EndAccept(IAsyncResult).

Произошла ошибка при попытке доступа к сокету.

-или-

Только .NET 7 и более поздних версий Socket : объект был закрыт.

Комментарии

Важно!

Это API совместимости. Мы не рекомендуем использовать методы APM (Begin* и End*) для разработки новых приложений. Вместо этого используйте эквиваленты на Taskоснове .

EndAcceptзавершает операцию, запущенную .BeginAccept Необходимо передать объект , IAsyncResult созданный соответствующим BeginAccept вызовом.

Метод EndAccept блокируется до тех пор, пока подключение не будет отложено в очереди входящих подключений. Метод EndAccept принимает входящее подключение и возвращает новый Socket объект , который можно использовать для отправки данных на удаленный узел и получения данных с удаленного узла.

Примечание

Если вы получаете SocketException, используйте SocketException.ErrorCode свойство , чтобы получить конкретный код ошибки.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в платформа .NET Framework.

Применяется к