Socket.ConnectAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Начинает выполнение асинхронного запроса для подключения к удаленному узлу.
Перегрузки
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. |
ConnectAsync(IPAddress[], Int32, CancellationToken) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(String, Int32, CancellationToken) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(IPAddress, Int32, CancellationToken) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(String, Int32) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(IPAddress[], Int32) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(IPAddress, Int32) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(EndPoint, CancellationToken) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(SocketAsyncEventArgs) |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. |
ConnectAsync(EndPoint) |
Устанавливает подключение к удаленному узлу. |
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
Начинает выполнение асинхронного запроса для подключения к удаленному узлу.
public:
static bool ConnectAsync(System::Net::Sockets::SocketType socketType, System::Net::Sockets::ProtocolType protocolType, System::Net::Sockets::SocketAsyncEventArgs ^ e);
public static bool ConnectAsync (System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e);
static member ConnectAsync : System.Net.Sockets.SocketType * System.Net.Sockets.ProtocolType * System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Shared Function ConnectAsync (socketType As SocketType, protocolType As ProtocolType, e As SocketAsyncEventArgs) As Boolean
Параметры
- socketType
- SocketType
Одно из значений перечисления SocketType.
- protocolType
- ProtocolType
Одно из значений перечисления ProtocolType.
Объект SocketAsyncEventArgs для использования в данной асинхронной операции сокета.
Возвращаемое значение
true
, если операция ввода-вывода находится в состоянии ожидания. По завершении операции создается событие Completed в параметре e
.
false
, если операция ввода-вывода завершена синхронно. В данном случае событие Completed на параметре e
не будет создано и объект e
, передаваемый как параметр, можно изучить сразу после получения результатов вызова метода для извлечения результатов операции.
Исключения
Аргумент является недопустимым. Это исключение возникает, если задано несколько буферов, свойство BufferList не имеет значение "null".
Параметр e
и RemoteEndPoint не могут иметь значение NULL.
Socket ведет прослушивание или работа с сокетом уже выполняется с использованием объекта SocketAsyncEventArgs, указанного параметром e
.
Произошла ошибка при попытке доступа к сокету.
Локальная конечная точка и семейство RemoteEndPoint адресов не совпадают.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Комментарии
Если вы используете протокол, ориентированный на подключение, метод M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,System.Net.Sockets.SocketAsyncEventArgs) запускает асинхронный запрос на подключение к удаленному узлу. Если вы используете протокол без подключения, устанавливает удаленный узел по умолчанию, ConnectAsync заданный параметрами socketType
и protocolType
.
Чтобы получить уведомление о завершении, необходимо создать метод обратного вызова, который реализует делегат EventHandler<SocketAsyncEventArgs> и присоединить обратный вызов к событию SocketAsyncEventArgs.Completed .
Вызывающий объект должен задать свойству SocketAsyncEventArgs.RemoteEndPointIPEndPoint значение удаленного узла, к которому необходимо подключиться.
Вызывающий объект может задать SocketAsyncEventArgs.UserToken для свойства любой объект пользовательского состояния, необходимый перед вызовом ConnectAsync метода , чтобы данные можно было получить в методе обратного вызова. Если для обратного вызова требуется больше сведений, чем для одного объекта, можно создать небольшой класс для хранения других необходимых сведений о состоянии в качестве членов.
Если вы используете протокол без подключения, например UDP, вам не нужно вызывать перед ConnectAsync отправкой и получением данных. Для взаимодействия с удаленным узлом можно использовать SendToAsync и ReceiveFromAsync . При вызове ConnectAsyncвсе датаграммы, поступающие с адреса, отличного от указанного по умолчанию, будут удалены. Если вы хотите изменить удаленный узел по умолчанию, снова вызовите ConnectAsync метод с нужной конечной точкой.
Если вы хотите задать для удаленного узла по умолчанию широковещательный адрес, необходимо сначала вызвать SetSocketOption и задать для параметра Broadcast значение true
. Если этого не сделать, ConnectAsync метод вызовет исключение SocketException.
Для объекта требуются следующие свойства и события System.Net.Sockets.SocketAsyncEventArgs :
При необходимости может быть предоставлен буфер, который будет атомарно отправлен в сокет после успешного ConnectAsync выполнения метода. В этом случае свойству SocketAsyncEventArgs.Buffer необходимо задать буфер, содержащий данные для отправки, а свойству SocketAsyncEventArgs.Count — количество байтов данных, отправляемых из буфера. После установки подключения этот буфер данных отправляется.
Если вы используете протокол, ориентированный на подключение, и не вызываете Bind перед вызовом ConnectAsync, базовый поставщик услуг назначит наиболее подходящий адрес локальной сети и номер порта.
Если вы используете протокол без подключения, поставщик услуг не будет назначать IP-адрес и номер порта локальной сети, пока вы не вызовете SendAsync методы или ReceiveAsync .
Метод ConnectAsync вызывает NotSupportedException исключение, если семейство Socket адресов и SocketAsyncEventArgs.RemoteEndPoint не является одинаковым семейством адресов.
Примечание
При получении при вызове SocketException этого метода используйте свойство , SocketException.ErrorCode чтобы получить конкретный код ошибки. Получив этот код, ознакомьтесь с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Применяется к
ConnectAsync(IPAddress[], Int32, CancellationToken)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::ValueTask ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress[] addresses, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress[] * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (addresses As IPAddress(), port As Integer, cancellationToken As CancellationToken) As ValueTask
Параметры
- addresses
- IPAddress[]
Список IPAddresses для удаленного узла, которые будут использоваться для подключения к удаленному узлу.
- port
- Int32
Порт на удаленном узле для подключения.
- cancellationToken
- CancellationToken
Маркер отмены, который можно использовать для отмены асинхронной операции.
Возвращаемое значение
Асинхронная задача, которая завершается при установке подключения.
Исключения
Параметр addresses
не может иметь значение null.
Параметр addresses
не может быть пустым массивом.
Объект Socket прослушивает.
Сокет не входит в InterNetwork семейства или InterNetworkV6 .
Произошла ошибка при попытке доступа к сокету.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(IPAddress[], Int32).
Применяется к
ConnectAsync(String, Int32, CancellationToken)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::String ^ host, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (string host, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : string * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (host As String, port As Integer, cancellationToken As CancellationToken) As ValueTask
Параметры
- host
- String
Имя узла удаленного узла для подключения.
- port
- Int32
Порт на удаленном узле для подключения.
- cancellationToken
- CancellationToken
Маркер отмены, который можно использовать для отмены асинхронной операции.
Возвращаемое значение
Асинхронная задача, которая завершается при установлении соединения.
Исключения
Параметр host
не может иметь значение null.
Объект Socket прослушивает.
Сокет не входит в InterNetwork семейства или InterNetworkV6 .
Произошла ошибка при попытке доступа к сокету.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(String, Int32).
Применяется к
ConnectAsync(IPAddress, Int32, CancellationToken)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::IPAddress ^ address, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress address, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (address As IPAddress, port As Integer, cancellationToken As CancellationToken) As ValueTask
Параметры
- address
- IPAddress
IPAddress удаленного узла для подключения.
- port
- Int32
Порт на удаленном узле для подключения.
- cancellationToken
- CancellationToken
Маркер отмены, который можно использовать для отмены асинхронной операции.
Возвращаемое значение
Асинхронная задача, которая завершается при установлении соединения.
Исключения
Параметр address
не может иметь значение null.
Прослушивает Socket объект .
Произошла ошибка при попытке доступа к сокету.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(IPAddress, Int32).
Применяется к
ConnectAsync(String, Int32)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::String ^ host, int port);
public System.Threading.Tasks.Task ConnectAsync (string host, int port);
member this.ConnectAsync : string * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (host As String, port As Integer) As Task
Параметры
- host
- String
Имя узла удаленного узла для подключения.
- port
- Int32
Порт на удаленном узле для подключения.
Возвращаемое значение
Асинхронная задача, которая завершается при установлении соединения.
Исключения
Параметр host
не может иметь значение null.
Прослушивает Socket объект .
Сокет не входит в InterNetwork семейства или InterNetworkV6 .
Произошла ошибка при попытке доступа к сокету.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(String, Int32).
Применяется к
ConnectAsync(IPAddress[], Int32)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::Task ^ ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress[] addresses, int port);
member this.ConnectAsync : System.Net.IPAddress[] * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (addresses As IPAddress(), port As Integer) As Task
Параметры
- addresses
- IPAddress[]
Список IPAddresses для удаленного узла, который будет использоваться для подключения к удаленному узлу.
- port
- Int32
Порт на удаленном узле для подключения.
Возвращаемое значение
Асинхронная задача, которая завершается при установлении соединения.
Исключения
Параметр addresses
не может иметь значение null.
Параметр addresses
не может быть пустым массивом.
Прослушивает Socket объект .
Сокет не входит в InterNetwork семейства или InterNetworkV6 .
Произошла ошибка при попытке доступа к сокету.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(IPAddress[], Int32).
Применяется к
ConnectAsync(IPAddress, Int32)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::IPAddress ^ address, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress address, int port);
member this.ConnectAsync : System.Net.IPAddress * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (address As IPAddress, port As Integer) As Task
Параметры
- address
- IPAddress
IPAddress удаленного узла для подключения.
- port
- Int32
Порт на удаленном узле для подключения.
Возвращаемое значение
Асинхронная задача, которая завершается при установлении соединения.
Исключения
Параметр address
не может иметь значение null.
Прослушивает Socket объект .
Сокет не входит в InterNetwork семейства или InterNetworkV6 .
Произошла ошибка при попытке доступа к сокету.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(IPAddress, Int32).
Применяется к
ConnectAsync(EndPoint, CancellationToken)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::EndPoint ^ remoteEP, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.EndPoint remoteEP, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (remoteEP As EndPoint, cancellationToken As CancellationToken) As ValueTask
Параметры
- remoteEP
- EndPoint
Конечная точка для подключения.
- cancellationToken
- CancellationToken
Маркер отмены, который можно использовать для отмены асинхронной операции.
Возвращаемое значение
Асинхронная задача, которая завершается при установлении соединения.
Исключения
Параметр remoteEP
не может иметь значение null.
Прослушивает Socket объект .
Произошла ошибка при попытке доступа к сокету.
Локальная конечная точка и параметр — это не одно и remoteEP
то же семейство адресов.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(EndPoint).
Применяется к
ConnectAsync(SocketAsyncEventArgs)
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
Начинает выполнение асинхронного запроса для подключения к удаленному узлу.
public:
bool ConnectAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ConnectAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ConnectAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ConnectAsync (e As SocketAsyncEventArgs) As Boolean
Параметры
Объект SocketAsyncEventArgs для использования в данной асинхронной операции сокета.
Возвращаемое значение
true
, если операция ввода-вывода находится в состоянии ожидания. По завершении операции создается событие Completed в параметре e
.
false
, если операция ввода-вывода завершена синхронно. В данном случае событие Completed на параметре e
не будет создано и объект e
, передаваемый как параметр, можно изучить сразу после получения результатов вызова метода для извлечения результатов операции.
Исключения
Аргумент является недопустимым. Это исключение возникает, если задано несколько буферов, свойство BufferList не имеет значение "null".
Параметр e
и RemoteEndPoint не могут иметь значение NULL.
Socket ведет прослушивание или работа с сокетом уже выполняется с использованием объекта SocketAsyncEventArgs, указанного параметром e
.
Произошла ошибка при попытке доступа к сокету.
Локальная конечная точка и — это не одно и RemoteEndPoint то же семейство адресов.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Комментарии
Если вы используете протокол, ориентированный на подключение, ConnectAsync метод запускает асинхронный запрос на подключение к удаленному узлу. Если вы используете протокол без подключения, ConnectAsync устанавливает удаленный узел по умолчанию.
Чтобы получить уведомление о завершении, необходимо создать метод обратного вызова, который реализует делегат EventHandler<SocketAsyncEventArgs> и присоединить обратный вызов к событию SocketAsyncEventArgs.Completed .
Вызывающий объект должен задать свойству SocketAsyncEventArgs.RemoteEndPointIPEndPoint значение удаленного узла, к которому необходимо подключиться.
Вызывающий объект может задать SocketAsyncEventArgs.UserToken для свойства любой объект пользовательского состояния, необходимый перед вызовом ConnectAsync метода , чтобы данные можно было получить в методе обратного вызова. Если для обратного вызова требуется больше сведений, чем для одного объекта, можно создать небольшой класс для хранения других необходимых сведений о состоянии в качестве членов.
Если вы используете протокол без подключения, например UDP, вам не нужно вызывать перед ConnectAsync отправкой и получением данных. Для взаимодействия с удаленным узлом можно использовать SendToAsync и ReceiveFromAsync . При вызове ConnectAsyncвсе датаграммы, поступающие с адреса, отличного от указанного по умолчанию, будут удалены. Если вы хотите изменить удаленный узел по умолчанию, снова вызовите ConnectAsync метод с нужной конечной точкой.
Если вы хотите задать для удаленного узла по умолчанию широковещательный адрес, необходимо сначала вызвать SetSocketOption и задать для параметра Broadcast значение true
. Если этого не сделать, ConnectAsync метод вызовет исключение SocketException.
Для объекта требуются следующие свойства и события System.Net.Sockets.SocketAsyncEventArgs :
При необходимости может быть предоставлен буфер, который будет атомарно отправлен в сокет после успешного ConnectAsync выполнения метода. В этом случае свойству SocketAsyncEventArgs.Buffer необходимо задать буфер, содержащий данные для отправки, а свойству SocketAsyncEventArgs.Count — количество байтов данных, отправляемых из буфера. После установки подключения этот буфер данных отправляется.
Если вы используете протокол, ориентированный на подключение, и не вызываете Bind перед вызовом ConnectAsync, базовый поставщик услуг назначит наиболее подходящий адрес локальной сети и номер порта.
Если вы используете протокол без подключения, поставщик услуг не будет назначать IP-адрес и номер порта локальной сети, пока вы не вызовете SendAsync методы или ReceiveAsync .
Метод ConnectAsync вызывает NotSupportedException исключение, если семейство Socket адресов и SocketAsyncEventArgs.RemoteEndPoint не является одинаковым семейством адресов.
Примечание
При получении при вызове SocketException этого метода используйте свойство , SocketException.ErrorCode чтобы получить конкретный код ошибки. Получив этот код, ознакомьтесь с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
См. также раздел
Применяется к
ConnectAsync(EndPoint)
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
- Исходный код:
- Socket.Tasks.cs
Устанавливает подключение к удаленному узлу.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::EndPoint ^ remoteEP);
public System.Threading.Tasks.Task ConnectAsync (System.Net.EndPoint remoteEP);
member this.ConnectAsync : System.Net.EndPoint -> System.Threading.Tasks.Task
Public Function ConnectAsync (remoteEP As EndPoint) As Task
Параметры
- remoteEP
- EndPoint
Конечная точка для подключения.
Возвращаемое значение
Асинхронная задача, которая завершается при установке подключения.
Исключения
Параметр remoteEP
не может иметь значение null.
Объект Socket прослушивает.
Произошла ошибка при попытке доступа к сокету.
Локальная конечная точка и remoteEP
параметр — это не одно и то же семейство адресов.
Socket был закрыт.
Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Connect(EndPoint).