Socket.Accept 메서드
새로 만든 연결에 대한 새 Socket을 만듭니다.
네임스페이스: System.Net.Sockets
어셈블리: System(system.dll)
구문
‘선언
Public Function Accept As Socket
‘사용 방법
Dim instance As Socket
Dim returnValue As Socket
returnValue = instance.Accept
public Socket Accept ()
public:
Socket^ Accept ()
public Socket Accept ()
public function Accept () : Socket
반환 값
새로 만든 연결에 대한 Socket입니다.
예외
예외 형식 | 조건 |
---|---|
소켓에 액세스하려고 시도하는 동안 오류가 발생한 경우. 자세한 내용은 설명 부분을 참조하십시오. |
|
Socket이 닫힌 경우 |
|
받아들이는 소켓이 연결을 수신하지 않는 경우. Accept를 호출하기 전에 Bind 및 Listen을 호출해야 합니다. |
설명
Accept는 수신 소켓의 연결 요청 큐에서 보류 중인 첫째 연결 요청을 동기적으로 추출한 다음 새로운 Socket을 만들어 반환합니다. 반환된 이 Socket을 사용하여 연결 큐에서 추가 연결을 받아들일 수 없습니다. 그러나 반환된 Socket의 RemoteEndPoint 메서드를 호출하여 원격 호스트의 네트워크 주소와 포트 번호를 식별할 수 있습니다.
블로킹 모드에서 Accept는 들어오는 연결 시도를 큐에 대기시킬 때까지 차단됩니다. 하나의 연결이 받아들여지면 원래의 Socket은 사용자가 이 연결을 닫을 때까지 들어오는 연결 요청을 계속 큐에 대기시킵니다.
비블로킹 Socket을 사용하여 이 메서드를 호출하는 경우 큐에 대기하고 있는 연결 요청이 없으면 Accept는 SocketException을 throw합니다. SocketException이 발생하면 SocketException.ErrorCode 속성을 사용하여 특정 오류 코드를 가져옵니다. 이 코드를 가져온 다음 MSDN Library의 Windows 소켓 버전 2 API 오류 코드 설명서에서 오류에 대한 자세한 설명을 참조하십시오.
참고
Accept 메서드를 호출하기 전에 먼저 Listen 메서드를 호출하여 들어오는 연결 요청을 수신하고 대기시켜야 합니다.
참고
응용 프로그램에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 네트워크 추적을 참조하십시오.
예제
다음 코드 예제에서는 간단한 Socket 연결을 받아들입니다.
Protected Sub AcceptMethod(listeningSocket As Socket)
Dim mySocket As Socket = listeningSocket.Accept()
End Sub
protected void AcceptMethod(Socket listeningSocket)
{
Socket mySocket = listeningSocket.Accept();
}
protected:
void AcceptMethod( Socket^ listeningSocket )
{
Socket^ mySocket = listeningSocket->Accept();
}
protected void AcceptMethod(Socket listeningSocket)
{
Socket mySocket = listeningSocket.Accept();
} //AcceptMethod
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
.NET Compact Framework
2.0, 1.0에서 지원
참고 항목
참조
Socket 클래스
Socket 멤버
System.Net.Sockets 네임스페이스
Listen
RemoteEndPoint
Socket.BeginAccept