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
Параметры
- 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
Параметры
- 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.