Socket.Bind(EndPoint) Метод

Определение

Связывает объект Socket с локальной конечной точкой.

public:
 void Bind(System::Net::EndPoint ^ localEP);
public void Bind (System.Net.EndPoint localEP);
member this.Bind : System.Net.EndPoint -> unit
Public Sub Bind (localEP As EndPoint)

Параметры

localEP
EndPoint

Локальный объект EndPoint, который необходимо связать с объектом Socket.

Исключения

localEP имеет значение null.

Произошла ошибка при попытке доступа к сокету.

Socket был закрыт.

Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.

Примеры

В следующем примере кода выполняется привязка Socket с использованием указанной локальной конечной точки.

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

Комментарии

Используйте Bind метод, если необходимо использовать определенную локальную конечную точку. BindПеред вызовом метода необходимо вызвать Listen метод. Не нужно вызывать Bind метод перед использованием метода, если не требуется Connect использовать определенную локальную конечную точку. Вы можете использовать Bind метод как для протокола, так и для протоколов, ориентированных на подключение.

Перед вызовом Bind необходимо сначала создать локаль, IPEndPoint из которого планируется передавать данные. Если вы не хотите, чтобы локальный адрес был назначен, можно создать IPEndPoint с помощью IPAddress.Any в качестве параметра Address, и базовый поставщик услуг присвоит наиболее подходящий сетевой адрес. Это может помочь упростить приложение при наличии нескольких сетевых интерфейсов. Если вы не хотите использовать локальный порт, можно создать IPEndPoint с помощью значения 0 для номера порта. В этом случае поставщик услуг присвоит доступному номеру порта от 1024 до 5000.

При использовании описанного выше подхода можно определить, какой локальный сетевой адрес и номер порта были назначены путем вызова LocalEndPoint . При использовании протокола, ориентированного на соединение, LocalEndPoint не возвращает локально назначенный сетевой адрес до тех пор, пока не будет выполнен вызов Connect EndConnect метода или. Если используется протокол без подключения, вы не сможете получить доступ к этим данным, пока не завершите отправку или получение.

Если сокету UDP требуется получать сведения о интерфейсе для полученных пакетов, SetSocketOption метод следует вызывать явным образом с параметром Socket, установленным PacketInformation сразу после вызова Bind метода.

Примечание

Если предполагается получение датаграмм многоадресной рассылки, необходимо вызвать Bind метод с номером многоадресного порта.

Примечание

Необходимо вызвать метод, Bind Если предполагается получение датаграмм без подключения с помощью ReceiveFrom метода.

Примечание

При получении сообщения SocketException при вызове Bind метода используйте SocketException.ErrorCode свойство для получения конкретного кода ошибки. после получения этого кода ознакомьтесь с подробным описанием ошибки в документации по коду ошибки API Windows sockets версии 2 .

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. дополнительные сведения см. в разделе сетевая трассировка в платформа .NET Framework.

Применяется к

См. также раздел