Socket.BeginConnect 메서드

정의

원격 호스트 연결에 대한 비동기 요청을 시작합니다.

오버로드

BeginConnect(EndPoint, AsyncCallback, Object)

원격 호스트 연결에 대한 비동기 요청을 시작합니다.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

원격 호스트 연결에 대한 비동기 요청을 시작합니다. 호스트는 IPAddress와 포트 번호로 지정됩니다.

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

원격 호스트 연결에 대한 비동기 요청을 시작합니다. 호스트는 IPAddress 배열과 포트 번호로 지정됩니다.

BeginConnect(String, Int32, AsyncCallback, Object)

원격 호스트 연결에 대한 비동기 요청을 시작합니다. 호스트는 호스트 이름과 포트 번호로 지정됩니다.

BeginConnect(EndPoint, AsyncCallback, Object)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

원격 호스트 연결에 대한 비동기 요청을 시작합니다.

public:
 IAsyncResult ^ BeginConnect(System::Net::EndPoint ^ remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginConnect : System.Net.EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

remoteEP
EndPoint

원격 호스트를 나타내는 EndPoint입니다.

callback
AsyncCallback

AsyncCallback 대리자입니다.

state
Object

이 요청에 대한 상태 정보를 포함하는 개체입니다.

반환

비동기 연결을 참조하는 IAsyncResult입니다.

예외

remoteEPnull입니다.

.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.

Socket이 닫혔습니다.

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

SocketListen(Int32)을 호출하여 수신 상태에 배치되었거나 비동기 작업이 이미 진행 중입니다.

설명

중요

호환성 API입니다. 새 개발에 APM (Begin*End*) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task를 사용합니다.

연결 지향 프로토콜은 메서드를 BeginAccept 사용하여 들어오는 연결 시도 수락을 시작할 수 있습니다. 결과 수락 작업은 동기적으로 완료될 수 있더라도 반환 IAsyncResult 된 로 표시됩니다. 메서드를 BeginAccept 호출하기 전에 메서드를 Listen 호출하여 들어오는 연결 요청을 수신 대기하고 큐에 대기해야 합니다.

수락 작업의 완료에 대한 알림을 받기 위해 를 구현 AsyncCallbackBeginAccept 하는 콜백을 전달할 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginAccept하는 동안 인라인으로 콜백이 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginAccept 가져옵니다.

메서드를 BeginAccept 호출 EndAccept 하여 작업을 완료해야 합니다. 일반적으로 메서드는 제공된 대리자에서 호출됩니다 AsyncCallback . EndAccept 는 작업이 완료될 때까지 호출 스레드를 차단합니다.

메서드에 대한 보류 중인 호출을 BeginAccept 취소하려면 을 닫습니다 Socket. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginAccept 제공된 콜백이 호출됩니다. 메서드에 대한 EndAccept 후속 호출은 작업이 취소되었음을 나타내기 위해 (.NET 7 이전) 또는 SocketException (.NET 7 이상)을 throw ObjectDisposedException 합니다.

참고

반환 SocketRemoteEndPoint 의 속성을 사용하여 원격 호스트의 네트워크 주소 및 포트 번호를 식별할 수 있습니다.

참고

를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.

참고

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.

참고

실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

원격 호스트 연결에 대한 비동기 요청을 시작합니다. 호스트는 IPAddress와 포트 번호로 지정됩니다.

public:
 IAsyncResult ^ BeginConnect(System::Net::IPAddress ^ address, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (address As IPAddress, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

address
IPAddress

원격 호스트의 IPAddress입니다.

port
Int32

원격 호스트의 포트 번호입니다.

requestCallback
AsyncCallback

연결 작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.

state
Object

연결 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 requestCallback 대리자에게 전달됩니다.

반환

비동기 연결을 참조하는 IAsyncResult입니다.

예외

addressnull입니다.

.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.

Socket이 닫혔습니다.

Socket이 소켓 패밀리에 없는 경우

포트 번호가 잘못된 경우

address의 길이가 0입니다.

SocketListen(Int32)을 호출하여 수신 상태에 배치되었거나 비동기 작업이 이미 진행 중입니다.

설명

중요

호환성 API입니다. 새 개발에 APM (Begin*End*) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task를 사용합니다.

연결 지향 프로토콜을 사용하는 경우 메서드는 BeginConnect 매개 변수로 지정된 remoteEP 엔드포이트에 대한 연결에 대한 비동기 요청을 시작합니다. 연결 없는 프로토콜 BeginConnect 을 사용하는 경우 기본 원격 호스트를 설정합니다.

를 구현하는 콜백을 AsyncCallbackBeginConnect 전달하여 연결 작업의 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginConnect하는 동안 인라인으로 콜백이 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginConnect 가져옵니다.

메서드를 BeginConnect 호출 EndConnect 하여 작업을 완료해야 합니다. 일반적으로 메서드는 제공된 대리자에서 호출됩니다 AsyncCallback . EndConnect 는 작업이 완료될 때까지 호출 스레드를 차단합니다.

UDP와 같은 연결 없는 프로토콜을 사용하는 경우 데이터를 보내고 받기 전에 를 호출 BeginConnect 할 필요가 없습니다. 및 를 BeginReceiveFrom 사용하여 BeginSendTo 원격 호스트와 통신할 수 있습니다. 를 호출 BeginConnect하면 지정된 기본값이 아닌 주소에서 도착하는 모든 데이터그램이 삭제됩니다. 기본 원격 호스트를 브로드캐스트 주소로 설정하려면 먼저 를 호출 SetSocketOption 하고 브로드캐스트를 로 true설정해야 합니다. 할 수 없는 경우 는 BeginConnect 을 throw합니다 SocketException.

연결 지향 프로토콜을 사용 중이고 를 호출하기 전에 를 호출 BindBeginConnect하지 않으면 기본 서비스 공급자가 가장 적절한 로컬 네트워크 주소 및 포트 번호를 할당합니다. 연결 없는 프로토콜을 사용하는 경우 서비스 공급자는 또는 ReceiveFrom 메서드를 호출 BeginSend 할 때까지 로컬 네트워크 주소 및 포트 번호를 할당하지 않습니다. 기본 원격 호스트를 변경하려면 원하는 엔드포인트를 사용하여 BeginConnect 메서드를 다시 호출합니다.

메서드에 대한 보류 중인 호출을 BeginConnect 취소하려면 을 닫습니다 Socket. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginConnect 제공된 콜백이 호출됩니다. 메서드에 대한 EndConnect 후속 호출은 작업이 취소되었음을 나타내기 위해 (.NET 7 이전) 또는 SocketException (.NET 7 이상)을 throw ObjectDisposedException 합니다.

참고

를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.

참고

이전에 이 소켓의 연결이 끊어진 BeginConnect 경우 작업이 완료될 때까지 종료되지 않는 스레드에서 를 호출해야 합니다. 이는 기본 공급자의 제한 사항입니다.

참고

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.

참고

실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

원격 호스트 연결에 대한 비동기 요청을 시작합니다. 호스트는 IPAddress 배열과 포트 번호로 지정됩니다.

public:
 IAsyncResult ^ BeginConnect(cli::array <System::Net::IPAddress ^> ^ addresses, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress[] * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (addresses As IPAddress(), port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

addresses
IPAddress[]

원격 호스트를 지정하는 하나 이상의 IPAddress입니다.

port
Int32

원격 호스트의 포트 번호입니다.

requestCallback
AsyncCallback

연결 작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.

state
Object

연결 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 requestCallback 대리자에게 전달됩니다.

반환

비동기 연결을 참조하는 IAsyncResult입니다.

예외

addressesnull입니다.

.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.

Socket이 닫혔습니다.

이 메서드는 InterNetwork 또는 InterNetworkV6를 사용하는 소켓에 유효합니다.

포트 번호가 잘못된 경우

address의 길이가 0입니다.

SocketListen(Int32)을 호출하여 수신 상태에 배치되었거나 비동기 작업이 이미 진행 중입니다.

설명

중요

호환성 API입니다. 새 개발을 위해 APM (Begin*End*) 메서드를 사용하지 않는 것이 좋습니다. 대신 에 기반한 Task등가를 사용합니다.

연결 지향 프로토콜을 사용하는 경우 메서드는 BeginConnect 매개 변수로 지정된 remoteEP 엔드포이트에 대한 연결에 대한 비동기 요청을 시작합니다. 연결 없는 프로토콜 BeginConnect 을 사용하는 경우 는 기본 원격 호스트를 설정합니다.

를 구현하는 콜백을 AsyncCallbackBeginConnect 전달하여 연결 작업의 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginConnect하는 동안 콜백이 인라인으로 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 BeginConnect 가져옵니다.

메서드를 BeginConnect 호출 EndConnect 하여 작업을 완료해야 합니다. 일반적으로 메서드는 제공된 대리자에서 호출됩니다 AsyncCallback . EndConnect 는 작업이 완료될 때까지 호출 스레드를 차단합니다.

UDP와 같은 연결 없는 프로토콜을 사용하는 경우 데이터를 보내고 받기 전에 를 호출 BeginConnect 할 필요가 없습니다. 및 를 BeginReceiveFrom 사용하여 BeginSendTo 원격 호스트와 통신할 수 있습니다. 를 호출 BeginConnect하면 지정된 기본값 이외의 주소에서 도착하는 모든 데이터그램이 삭제됩니다. 기본 원격 호스트를 브로드캐스트 주소로 설정하려면 먼저 를 호출 SetSocketOption 하고 브로드캐스트를 로 true설정해야 합니다. 할 수 없는 경우 는 BeginConnect 을 throw합니다 SocketException.

연결 지향 프로토콜을 사용 중이고 를 호출하기 전에 를 호출 BindBeginConnect하지 않는 경우 기본 서비스 공급자는 가장 적절한 로컬 네트워크 주소 및 포트 번호를 할당합니다. 연결 없는 프로토콜을 사용하는 경우 서비스 공급자는 또는 ReceiveFrom 메서드를 호출 BeginSend 할 때까지 로컬 네트워크 주소 및 포트 번호를 할당하지 않습니다. 기본 원격 호스트를 변경하려면 원하는 엔드포인트를 BeginConnect 사용하여 메서드를 다시 호출합니다.

메서드에 대한 보류 중인 호출을 취소하려면 를 BeginConnect 닫습니다 Socket. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginConnect 제공된 콜백이 호출됩니다. 메서드에 EndConnect 대한 후속 호출은 (.NET 7 이전) 또는 SocketException (.NET 7 이상)를 throw ObjectDisposedException 하여 작업이 취소되었음을 나타냅니다.

참고

을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.

참고

이 소켓의 연결이 이전에 끊어진 BeginConnect 경우 작업이 완료될 때까지 종료되지 않는 스레드에서 를 호출해야 합니다. 이는 기본 공급자의 제한 사항입니다.

참고

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.

참고

실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

BeginConnect(String, Int32, AsyncCallback, Object)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

원격 호스트 연결에 대한 비동기 요청을 시작합니다. 호스트는 호스트 이름과 포트 번호로 지정됩니다.

public:
 IAsyncResult ^ BeginConnect(System::String ^ host, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : string * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (host As String, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

host
String

원격 호스트의 이름입니다.

port
Int32

원격 호스트의 포트 번호입니다.

requestCallback
AsyncCallback

연결 작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.

state
Object

연결 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 requestCallback 대리자에게 전달됩니다.

반환

비동기 연결을 참조하는 IAsyncResult입니다.

예외

host이(가) null인 경우

Socket이 닫혔습니다.

이 메서드는 InterNetwork 또는 InterNetworkV6 제품군의 소켓에 유효합니다.

포트 번호가 잘못된 경우

SocketListen(Int32)을 호출하여 수신 상태에 배치되었거나 비동기 작업이 이미 진행 중입니다.

설명

중요

호환성 API입니다. 새 개발을 위해 APM (Begin*End*) 메서드를 사용하지 않는 것이 좋습니다. 대신 에 기반한 Task등가를 사용합니다.

연결 지향 프로토콜을 사용하는 경우 메서드는 BeginConnect 매개 변수로 지정된 remoteEP 엔드포이트에 대한 연결에 대한 비동기 요청을 시작합니다. 연결 없는 프로토콜 BeginConnect 을 사용하는 경우 는 기본 원격 호스트를 설정합니다.

를 구현하는 콜백을 AsyncCallbackBeginConnect 전달하여 연결 작업의 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginConnect하는 동안 콜백이 인라인으로 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 BeginConnect 가져옵니다.

메서드를 BeginConnect 호출 EndConnect 하여 작업을 완료해야 합니다. 일반적으로 메서드는 제공된 대리자에서 호출됩니다 AsyncCallback . EndConnect 는 작업이 완료될 때까지 호출 스레드를 차단합니다.

UDP와 같은 연결 없는 프로토콜을 사용하는 경우 데이터를 보내고 받기 전에 를 호출 BeginConnect 할 필요가 없습니다. 및 를 BeginReceiveFrom 사용하여 BeginSendTo 원격 호스트와 통신할 수 있습니다. 를 호출 BeginConnect하면 지정된 기본값 이외의 주소에서 도착하는 모든 데이터그램이 삭제됩니다. 기본 원격 호스트를 브로드캐스트 주소로 설정하려면 먼저 를 호출 SetSocketOption 하고 브로드캐스트를 로 true설정해야 합니다. 할 수 없는 경우 는 BeginConnect 을 throw합니다 SocketException.

연결 지향 프로토콜을 사용 중이고 를 호출하기 전에 를 호출 BindBeginConnect하지 않는 경우 기본 서비스 공급자는 가장 적절한 로컬 네트워크 주소 및 포트 번호를 할당합니다. 연결 없는 프로토콜을 사용하는 경우 서비스 공급자는 또는 ReceiveFrom 메서드를 호출 BeginSend 할 때까지 로컬 네트워크 주소 및 포트 번호를 할당하지 않습니다. 기본 원격 호스트를 변경하려면 원하는 엔드포인트를 BeginConnect 사용하여 메서드를 다시 호출합니다.

메서드에 대한 보류 중인 호출을 취소하려면 를 BeginConnect 닫습니다 Socket. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginConnect 제공된 콜백이 호출됩니다. 메서드에 EndConnect 대한 후속 호출은 (.NET 7 이전) 또는 SocketException (.NET 7 이상)를 throw ObjectDisposedException 하여 작업이 취소되었음을 나타냅니다.

참고

을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.

참고

이 소켓의 연결이 이전에 끊어진 BeginConnect 경우 작업이 완료될 때까지 종료되지 않는 스레드에서 를 호출해야 합니다. 이는 기본 공급자의 제한 사항입니다.

참고

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.

참고

실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상