Socket.Bind(EndPoint) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.