Socket.BeginAccept 메서드

정의

들어오는 연결 시도를 받아들이는 비동기 작업을 시작합니다.

오버로드

BeginAccept(AsyncCallback, Object)

들어오는 연결 시도를 받아들이는 비동기 작업을 시작합니다.

BeginAccept(Int32, AsyncCallback, Object)

들어오는 연결 시도를 받아들이는 비동기 작업을 시작하고 클라이언트 애플리케이션에서 보낸 데이터의 첫 번째 블록을 받습니다.

BeginAccept(Socket, Int32, AsyncCallback, Object)

지정된 소켓에서 들어오는 연결 시도를 받아들이는 비동기 작업을 시작하고 클라이언트 애플리케이션에서 보낸 데이터의 첫 번째 블록을 받습니다.

BeginAccept(AsyncCallback, Object)

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

들어오는 연결 시도를 받아들이는 비동기 작업을 시작합니다.

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

매개 변수

callback
AsyncCallback

AsyncCallback 대리자입니다.

state
Object

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

반환

비동기 IAsyncResult 생성을 참조하는 Socket입니다.

예외

Socket 개체가 닫힌 경우

받아들이는 소켓이 연결을 수신하지 않는 경우. Bind(EndPoint)를 호출하기 전에 Listen(Int32)BeginAccept(AsyncCallback, Object)을 호출해야 합니다.

또는

받아들여진 소켓이 바인딩된 경우

receiveSize 가 0보다 작습니다.

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

설명

중요

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

연결 지향 프로토콜은 메서드를 BeginAccept 사용하여 들어오는 연결 시도 수락을 시작할 수 있습니다. 메서드를 BeginAccept 호출하기 전에 메서드를 Listen 호출하여 들어오는 연결 요청을 수신 대기하고 큐에 대기해야 합니다.

수락 작업의 완료에 대한 알림을 받기 위해 를 구현 AsyncCallbackBeginAccept 하는 콜백을 에 전달할 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginAccept하는 동안 콜백이 인라인으로 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 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 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

BeginAccept(Int32, AsyncCallback, Object)

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

들어오는 연결 시도를 받아들이는 비동기 작업을 시작하고 클라이언트 애플리케이션에서 보낸 데이터의 첫 번째 블록을 받습니다.

public:
 IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

receiveSize
Int32

송신자로부터 받아들일 바이트 수입니다.

callback
AsyncCallback

AsyncCallback 대리자입니다.

state
Object

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

반환

비동기 IAsyncResult 생성을 참조하는 Socket입니다.

예외

Socket 개체가 닫힌 경우

받아들이는 소켓이 연결을 수신하지 않는 경우. Bind(EndPoint)를 호출하기 전에 Listen(Int32)BeginAccept(AsyncCallback, Object)을 호출해야 합니다.

또는

받아들여진 소켓이 바인딩된 경우

receiveSize 가 0보다 작습니다.

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

설명

중요

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

연결 지향 프로토콜은 메서드를 BeginAccept 사용하여 들어오는 연결 시도 수락을 시작할 수 있습니다. 메서드를 BeginAccept 호출하기 전에 메서드를 Listen 호출하여 들어오는 연결 요청을 수신 대기하고 큐에 대기해야 합니다.

수락 작업의 완료에 대한 알림을 받기 위해 를 구현 AsyncCallbackBeginAccept 하는 콜백을 에 전달할 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginAccept하는 동안 콜백이 인라인으로 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 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 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

BeginAccept(Socket, Int32, AsyncCallback, Object)

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

지정된 소켓에서 들어오는 연결 시도를 받아들이는 비동기 작업을 시작하고 클라이언트 애플리케이션에서 보낸 데이터의 첫 번째 블록을 받습니다.

public:
 IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket? acceptSocket, int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

acceptSocket
Socket

허용되는 Socket 개체입니다. 이 값은 null일 수 있습니다.

receiveSize
Int32

받을 최대 바이트 수입니다.

callback
AsyncCallback

AsyncCallback 대리자입니다.

state
Object

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

반환

비동기 IAsyncResult 개체 생성을 참조하는 Socket 개체입니다.

예외

Socket 개체가 닫힌 경우

받아들이는 소켓이 연결을 수신하지 않는 경우. Bind(EndPoint)를 호출하기 전에 Listen(Int32)BeginAccept(AsyncCallback, Object)을 호출해야 합니다.

또는

받아들여진 소켓이 바인딩된 경우

receiveSize 가 0보다 작습니다.

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

설명

중요

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

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

수락 작업의 완료에 대한 알림을 받기 위해 를 구현 AsyncCallbackBeginAccept 하는 콜백을 에 전달할 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginAccept하는 동안 콜백이 인라인으로 실행될 수 있습니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true 되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 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 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상