다음을 통해 공유


Socket.Bind 메서드

Socket을 로컬 끝점과 연결합니다.

네임스페이스: System.Net.Sockets
어셈블리: System(system.dll)

구문

‘선언
Public Sub Bind ( _
    localEP As EndPoint _
)
‘사용 방법
Dim instance As Socket
Dim localEP As EndPoint

instance.Bind(localEP)
public void Bind (
    EndPoint localEP
)
public:
void Bind (
    EndPoint^ localEP
)
public void Bind (
    EndPoint localEP
)
public function Bind (
    localEP : EndPoint
)

매개 변수

예외

예외 형식 조건

ArgumentNullException

localEP가 Null 참조(Visual Basic의 경우 Nothing)인 경우

SocketException

소켓에 액세스하려고 시도하는 동안 오류가 발생한 경우. 자세한 내용은 설명 부분을 참조하십시오.

ObjectDisposedException

Socket이 닫힌 경우

SecurityException

호출 스택에 있는 상위 호출자에게 요청된 작업에 대한 권한이 없는 경우

설명

특정 로컬 끝점을 사용해야 하는 경우 Bind 메서드를 사용합니다. Listen 메서드를 호출하려면 먼저 Bind를 호출해야 합니다. 특정 로컬 끝점을 사용해야 하는 경우가 아니면 Connect 메서드를 사용하기 전에 Bind를 호출할 필요가 없습니다. 연결 없는 프로토콜과 연결 지향 프로토콜 모두에 대해 Bind 메서드를 사용할 수 있습니다.

Bind를 호출하기 전에 먼저 데이터를 주고 받으려는 로컬 IPEndPoint를 만들어야 합니다. 할당되는 로컬 주소는 상관하지 않는 경우 주소 매개 변수로 IPAddress.Any를 사용하여 IPEndPoint를 만들 수 있으며, 내부 서비스 공급자는 가장 적절한 네트워크 주소를 할당합니다. 이것은 여러 네트워크 인터페이스가 있는 경우 응용 프로그램을 단순화합니다. 사용되는 로컬 포트는 상관하지 않는 경우 포트 번호로 0을 사용하여 IPEndPoint를 만들 수 있습니다. 이 경우 서비스 공급자는 1024와 5000 사이의 사용할 수 있는 포트 번호를 할당합니다.

위의 방법을 사용하는 경우 LocalEndPoint를 호출하여 할당된 로컬 네트워크 주소와 포트 번호를 검색할 수 있습니다. 연결 지향 프로토콜을 사용하는 경우 LocalEndPointConnect 또는 EndConnect 메서드가 호출된 다음에 로컬로 할당된 네트워크 주소를 반환합니다. 연결 없는 프로토콜을 사용하는 경우 송신 또는 수신 작업이 끝나야만 이 정보에 액세스할 수 있습니다.

참고

멀티캐스트 데이터그램을 받으려는 경우 멀티캐스트 포트 번호를 사용하여 Bind 메서드를 호출해야 합니다.

참고

ReceiveFrom 메서드를 사용하여 연결 없는 데이터그램을 받으려는 경우 Bind 메서드를 호출해야 합니다.

참고

Bind 메서드를 호출할 때 SocketException이 발생하면 SocketException.ErrorCode 속성을 사용하여 특정 오류 코드를 가져옵니다. 이 코드를 가져온 다음 MSDN Library의 Windows 소켓 버전 2 API 오류 코드 설명서에서 오류에 대한 자세한 설명을 참조하십시오.

참고

응용 프로그램에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 네트워크 추적을 참조하십시오.

예제

다음 코드 예제에서는 지정된 로컬 끝점을 사용하여 Socket을 바인딩합니다.

Try
    aSocket.Bind(anEndPoint)
Catch e As Exception
    Console.WriteLine("Winsock error: " & e.ToString())
End Try
try {
    aSocket.Bind(anEndPoint);
}
catch (Exception e) {
    Console.WriteLine("Winsock error: " + e.ToString());
}
try
{
   aSocket->Bind( anEndPoint );
}
catch ( Exception^ e ) 
{
   Console::WriteLine( "Winsock error: {0}", e );
}
try {
    aSocket.Bind(anEndPoint);
}
catch (System.Exception e) {
    Console.WriteLine(("Winsock error: " + e.ToString()));
}

.NET Framework 보안

플랫폼

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 네임스페이스
IPEndPoint 클래스
Connect
Listen
IPAddress 클래스
LocalEndPoint