Socket.Bind(EndPoint) Método

Definición

Asocia un objeto Socket a un extremo local.

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)

Parámetros

localEP
EndPoint

EndPoint local que se va a asociar a Socket.

Excepciones

localEP es null.

Error al intentar acceder al socket.

El Socket se ha cerrado.

Un llamador de la pila de llamadas no tiene permiso para la operación solicitada.

Ejemplos

En el ejemplo de código siguiente se enlaza mediante Socket el punto de conexión local especificado.

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

Comentarios

Use el Bind método si necesita usar un punto de conexión local específico. Debe llamar a para poder llamar Bind al Listen método . No es necesario llamar Bind a antes de usar el Connect método a menos que necesite usar un punto de conexión local específico. Puede usar el Bind método en protocolos sin conexión y orientados a conexiones.

Antes de llamar a Bind, primero debe crear el local IPEndPoint desde el que pretende comunicar los datos. Si no le importa qué dirección local está asignada, puede crear un IPEndPoint mediante IPAddress.Any como parámetro de dirección y el proveedor de servicios subyacente asignará la dirección de red más adecuada. Esto puede ayudar a simplificar la aplicación si tiene varias interfaces de red. Si no le importa qué puerto local se usa, puede crear un IPEndPoint con 0 para el número de puerto. En este caso, el proveedor de servicios asignará un número de puerto disponible entre 1024 y 5000.

Si usa el enfoque anterior, puede detectar qué dirección de red local y número de puerto se ha asignado llamando a LocalEndPoint. Si usa un protocolo orientado a la conexión, LocalEndPoint no devolverá la dirección de red asignada localmente hasta que haya realizado una llamada al Connect método o EndConnect . Si usa un protocolo sin conexión, no tendrá acceso a esta información hasta que haya completado un envío o recepción.

Si un socket UDP quiere recibir información de interfaz sobre los paquetes recibidos, se SetSocketOption debe llamar explícitamente al método con la opción socket establecida PacketInformation en inmediatamente después de llamar al Bind método .

Nota:

Si tiene previsto recibir datagramas de multidifusión, debe llamar al Bind método con un número de puerto de multidifusión.

Nota:

Debe llamar al Bind método si tiene previsto recibir datagramas sin conexión mediante el ReceiveFrom método .

Nota:

Si recibe un SocketException elemento al llamar al Bind método , use la SocketException.ErrorCode propiedad para obtener el código de error específico. Después de obtener este código, consulte la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.

Nota:

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, consulte Seguimiento de red en .NET Framework.

Se aplica a

Consulte también