다음을 통해 공유


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)

Source:
Socket.cs
Source:
Socket.cs
Source:
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 값 중 하나입니다.

e
SocketAsyncEventArgs

이 비동기 소켓 작업에 사용할 SocketAsyncEventArgs 개체입니다.

반환

I/O 작업이 보류 중인 경우 true입니다. 작업이 완료되면 e 매개 변수에 대한 Completed 이벤트가 발생합니다.

I/O 작업이 동기적으로 완료된 경우 false입니다. 이 경우에는 e 매개 변수에서 Completed 이벤트가 발생하지 않으며, 메서드 호출이 반환된 직후 매개 변수로 전달된 e 개체를 검사하여 작업 결과를 검색할 수 있습니다.

예외

인수가 잘못된 경우. 버퍼를 여러 개 지정하고 BufferList 속성이 null이 아니면 이 예외가 발생합니다.

e 매개 변수가 null일 수 없으며, RemoteEndPoint도 null일 수 없습니다.

Socket이 수신 대기 중이거나 e 매개 변수에 지정된 SocketAsyncEventArgs 개체를 사용하여 소켓 작업이 이미 진행 중입니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

로컬 엔드포인트와 는 RemoteEndPoint 동일한 주소 패밀리가 아닙니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

설명

연결 지향 프로토콜을 사용하는 경우 M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,System.Net.Sockets.SocketAsyncEventArgs) 메서드는 원격 호스트에 대한 연결에 대한 비동기 요청을 시작합니다. 연결 없는 프로토콜 ConnectAsync 을 사용하는 경우 및 protocolType 매개 변수로 지정된 기본 원격 호스트를 socketType 설정합니다.

완료 알림을 받으려면 EventHandler<SocketAsyncEventArgs> 대리자를 구현하는 콜백 메서드를 만들고 콜백을 SocketAsyncEventArgs.Completed 이벤트에 연결해야 합니다.

호출자는 연결할 원격 호스트의 로 속성을 IPEndPoint 설정 SocketAsyncEventArgs.RemoteEndPoint 해야 합니다.

호출자는 콜백 메서드에서 SocketAsyncEventArgs.UserToken 정보를 검색할 수 있도록 메서드를 호출 ConnectAsync 하기 전에 속성을 원하는 사용자 상태 개체로 설정할 수 있습니다. 콜백에 단일 개체보다 더 많은 정보가 필요한 경우 다른 필수 상태 정보를 멤버로 유지하기 위해 작은 클래스를 만들 수 있습니다.

UDP와 같은 연결 없는 프로토콜을 사용하는 경우 데이터를 보내고 받기 전에 를 호출 ConnectAsync 할 필요가 없습니다. 및 를 ReceiveFromAsync 사용하여 SendToAsync 원격 호스트와 통신할 수 있습니다. 를 호출 ConnectAsync하면 지정된 기본값이 아닌 주소에서 도착하는 모든 데이터그램이 삭제됩니다. 기본 원격 호스트를 변경하려면 원하는 엔드포인트를 사용하여 ConnectAsync 메서드를 다시 호출합니다.

기본 원격 호스트를 브로드캐스트 주소로 설정하려면 먼저 를 호출 SetSocketOption 하고 브로드캐스트를 로 true설정해야 합니다. 이 작업이 수행되지 않으면 메서드는 ConnectAsync 을 throw합니다 SocketException.

개체에 대한 System.Net.Sockets.SocketAsyncEventArgs 다음 속성 및 이벤트가 필요합니다.

필요에 따라 메서드가 성공한 후 소켓에 원자성으로 전송되는 버퍼가 ConnectAsync 제공될 수 있습니다. 이 경우 SocketAsyncEventArgs.Buffer 속성을 보낼 데이터가 포함된 버퍼로 설정해야 하며 SocketAsyncEventArgs.Count , 속성을 버퍼에서 보낼 데이터 바이트 수로 설정해야 합니다. 연결이 설정되면 이 데이터 버퍼가 전송됩니다.

연결 지향 프로토콜을 사용 중이고 를 호출하기 전에 를 호출 BindConnectAsync하지 않으면 기본 서비스 공급자가 가장 적절한 로컬 네트워크 주소 및 포트 번호를 할당합니다.

연결 없는 프로토콜을 사용하는 경우 서비스 공급자는 또는 ReceiveAsync 메서드를 호출 SendAsync 할 때까지 로컬 네트워크 IP 주소 및 포트 번호를 할당하지 않습니다.

ConnectAsync 및 의 SocketSocketAsyncEventArgs.RemoteEndPoint 주소 패밀리가 동일한 주소 패밀리가 아닌 경우 메서드가 throw NotSupportedException 됩니다.

참고

이 메서드를 호출할 때 를 SocketException 수신하는 경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다. 이 코드를 가져온 후 오류에 대한 자세한 설명 은 Windows 소켓 버전 2 API 오류 코드 설명서를 참조하세요.

적용 대상

ConnectAsync(IPAddress[], Int32, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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 빈 배열일 수 없습니다.

portMinPort보다 작은 경우

또는

portMaxPort보다 큰 경우

Socket 수신 대기 중입니다.

소켓이 또는 InterNetworkV6 패밀리에 InterNetwork 없습니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(IPAddress[], Int32)된 예외를 참조하세요.

적용 대상

ConnectAsync(String, Int32, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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인 경우

portMinPort보다 작은 경우

또는

portMaxPort보다 큰 경우

Socket 수신 대기 중입니다.

소켓이 또는 InterNetworkV6 패밀리에 InterNetwork 없습니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(String, Int32)된 예외를 참조하세요.

적용 대상

ConnectAsync(IPAddress, Int32, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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인 경우

portMinPort보다 작은 경우

또는

portMaxPort보다 큰 경우

Socket 수신 대기 중입니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(IPAddress, Int32)된 예외를 참조하세요.

적용 대상

ConnectAsync(String, Int32)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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인 경우

portMinPort보다 작은 경우

또는

portMaxPort보다 큰 경우

Socket 수신 대기 중입니다.

소켓이 또는 InterNetworkV6 패밀리에 InterNetwork 없습니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(String, Int32)된 예외를 참조하세요.

적용 대상

ConnectAsync(IPAddress[], Int32)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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 빈 배열일 수 없습니다.

portMinPort보다 작은 경우

또는

portMaxPort보다 큰 경우

Socket 수신 대기 중입니다.

소켓이 또는 InterNetworkV6 패밀리에 InterNetwork 없습니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(IPAddress[], Int32)된 예외를 참조하세요.

적용 대상

ConnectAsync(IPAddress, Int32)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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인 경우

portMinPort보다 작은 경우

또는

portMaxPort보다 큰 경우

Socket 수신 대기 중입니다.

소켓이 또는 InterNetworkV6 패밀리에 InterNetwork 없습니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(IPAddress, Int32)된 예외를 참조하세요.

적용 대상

ConnectAsync(EndPoint, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(EndPoint)된 예외를 참조하세요.

적용 대상

ConnectAsync(SocketAsyncEventArgs)

Source:
Socket.cs
Source:
Socket.cs
Source:
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

매개 변수

e
SocketAsyncEventArgs

이 비동기 소켓 작업에 사용할 SocketAsyncEventArgs 개체입니다.

반환

I/O 작업이 보류 중인 경우 true입니다. 작업이 완료되면 e 매개 변수에 대한 Completed 이벤트가 발생합니다.

I/O 작업이 동기적으로 완료된 경우 false입니다. 이 경우에는 e 매개 변수에서 Completed 이벤트가 발생하지 않으며, 메서드 호출이 반환된 직후 매개 변수로 전달된 e 개체를 검사하여 작업 결과를 검색할 수 있습니다.

예외

인수가 잘못된 경우. 버퍼를 여러 개 지정하고 BufferList 속성이 null이 아니면 이 예외가 발생합니다.

e 매개 변수가 null일 수 없으며, RemoteEndPoint도 null일 수 없습니다.

Socket이 수신 대기 중이거나 e 매개 변수에 지정된 SocketAsyncEventArgs 개체를 사용하여 소켓 작업이 이미 진행 중입니다.

소켓에 액세스하는 동안 오류가 발생했습니다.

로컬 엔드포인트와 는 RemoteEndPoint 동일한 주소 패밀리가 아닙니다.

Socket이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

설명

연결 지향 프로토콜을 사용하는 경우 메서드는 ConnectAsync 원격 호스트에 대한 연결에 대한 비동기 요청을 시작합니다. 연결 없는 프로토콜 ConnectAsync 을 사용하는 경우 기본 원격 호스트를 설정합니다.

완료 알림을 받으려면 EventHandler<SocketAsyncEventArgs> 대리자를 구현하고 콜백을 이벤트에 연결하는 콜백 메서드를 SocketAsyncEventArgs.Completed 만들어야 합니다.

호출자는 속성을 연결할 원격 호스트의 로 설정 SocketAsyncEventArgs.RemoteEndPointIPEndPoint 해야 합니다.

호출자는 콜백 메서드에서 SocketAsyncEventArgs.UserToken 정보를 검색할 수 있도록 메서드를 호출 ConnectAsync 하기 전에 속성을 원하는 사용자 상태 개체로 설정할 수 있습니다. 콜백에 단일 개체보다 더 많은 정보가 필요한 경우 다른 필수 상태 정보를 멤버로 유지하기 위해 작은 클래스를 만들 수 있습니다.

UDP와 같은 연결 없는 프로토콜을 사용하는 경우 데이터를 보내고 받기 전에 를 호출 ConnectAsync 할 필요가 없습니다. 및 를 ReceiveFromAsync 사용하여 SendToAsync 원격 호스트와 통신할 수 있습니다. 를 호출 ConnectAsync하면 지정된 기본값 이외의 주소에서 도착하는 모든 데이터그램이 삭제됩니다. 기본 원격 호스트를 변경하려면 원하는 엔드포인트를 ConnectAsync 사용하여 메서드를 다시 호출합니다.

기본 원격 호스트를 브로드캐스트 주소로 설정하려면 먼저 를 호출 SetSocketOption 하고 브로드캐스트를 로 true설정해야 합니다. 이 작업을 수행하지 않으면 메서드는 ConnectAsync 을 throw합니다 SocketException.

개체에 대한 System.Net.Sockets.SocketAsyncEventArgs 다음 속성 및 이벤트가 필요합니다.

필요에 따라 메서드가 성공한 후 소켓에 원자성으로 전송되는 버퍼가 ConnectAsync 제공될 수 있습니다. 이 경우 SocketAsyncEventArgs.Buffer 속성을 보낼 데이터가 포함된 버퍼로 설정해야 하며 SocketAsyncEventArgs.Count , 속성을 버퍼에서 보낼 데이터 바이트 수로 설정해야 합니다. 연결이 설정되면 이 데이터 버퍼가 전송됩니다.

연결 지향 프로토콜을 사용 중이고 를 호출하기 전에 를 호출 BindConnectAsync하지 않는 경우 기본 서비스 공급자는 가장 적절한 로컬 네트워크 주소 및 포트 번호를 할당합니다.

연결 없는 프로토콜을 사용하는 경우 서비스 공급자는 또는 ReceiveAsync 메서드를 호출 SendAsync 할 때까지 로컬 네트워크 IP 주소 및 포트 번호를 할당하지 않습니다.

메서드는 ConnectAsyncNotSupportedException 및 의 SocketSocketAsyncEventArgs.RemoteEndPoint 주소 패밀리가 동일한 주소 패밀리가 아닌 경우 을 throw합니다.

참고

이 메서드를 호출할 때 를 SocketException 수신하는 경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다. 이 코드를 가져온 후 오류에 대한 자세한 설명은 Windows 소켓 버전 2 API 오류 코드 설명서를 참조하세요.

추가 정보

적용 대상

ConnectAsync(EndPoint)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
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이 닫혔습니다.

호출 스택의 상위 호출자에게 요청된 작업을 수행할 권한이 없는 경우

설명

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 태스크에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Connect(EndPoint)된 예외를 참조하세요.

적용 대상