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 в качестве параметра адреса, а базовый поставщик услуг назначит наиболее подходящий сетевой адрес. Это может помочь упростить приложение при наличии нескольких сетевых интерфейсов. Если вам не нужно использовать локальный порт, можно создать IPEndPoint значение 0 для номера порта. В этом случае поставщик услуг назначит доступный номер порта в диапазоне от 1024 до 5000.

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

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

Примечание

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

Примечание

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

Примечание

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

Примечание

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

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

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