Поделиться через


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: " + e.ToString());
}
Try
    aSocket.Bind(anEndPoint)
Catch e As Exception
    Console.WriteLine("Winsock error: " & e.ToString())
End Try

Комментарии

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

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

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

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

Замечание

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

Замечание

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

Замечание

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

Замечание

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.

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

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