Socket.Bind(EndPoint) Método

Definição

Associa um Socket a um ponto de extremidade local.Associates a Socket with a local endpoint.

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

O local EndPoint para associar ao Socket.The local EndPoint to associate with the Socket.

Exceções

localEP é null.localEP is null.

Ocorreu um erro ao tentar acessar o soquete.An error occurred when attempting to access the socket.

O Socket foi fechado.The Socket has been closed.

Um chamador mais alto na pilha de chamadas não tem permissão para a operação solicitada.A caller higher in the call stack does not have permission for the requested operation.

Exemplos

O exemplo de código a seguir associa um Socket usando o ponto de extremidade local especificado.The following code example binds a Socket using the specified local endpoint.

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

Comentários

Use o Bind método se você precisar usar um ponto de extremidade local específico.Use the Bind method if you need to use a specific local endpoint. Você deve chamar Bind antes de poder chamar o Listen método.You must call Bind before you can call the Listen method. Você não precisa chamar Bind antes de usar o Connect método, a menos que precise usar um ponto de extremidade local específico.You do not need to call Bind before using the Connect method unless you need to use a specific local endpoint. Você pode usar o Bind método em protocolos orientados a conexões e sem conexão.You can use the Bind method on both connectionless and connection-oriented protocols.

Antes de chamar Bind , você deve primeiro criar o local a IPEndPoint partir do qual pretende comunicar os dados.Before calling Bind, you must first create the local IPEndPoint from which you intend to communicate data. Se você não se importa com qual endereço local é atribuído, você pode criar um IPEndPoint usando IPAddress.Any como o parâmetro de endereço, e o provedor de serviços subjacente atribuirá o endereço de rede mais apropriado.If you do not care which local address is assigned, you can create an IPEndPoint using IPAddress.Any as the address parameter, and the underlying service provider will assign the most appropriate network address. Isso pode ajudar a simplificar seu aplicativo se você tiver várias interfaces de rede.This might help simplify your application if you have multiple network interfaces. Se você não se importa com qual porta local é usada, você pode criar um IPEndPoint usando 0 para o número da porta.If you do not care which local port is used, you can create an IPEndPoint using 0 for the port number. Nesse caso, o provedor de serviços atribuirá um número de porta disponível entre 1024 e 5000.In this case, the service provider will assign an available port number between 1024 and 5000.

Se você usar a abordagem acima, poderá descobrir qual endereço de rede local e número de porta foi atribuído chamando o LocalEndPoint .If you use the above approach, you can discover what local network address and port number has been assigned by calling the LocalEndPoint. Se você estiver usando um protocolo orientado a conexão, LocalEndPoint o não retornará o endereço de rede atribuído localmente até que você tenha feito uma chamada para o Connect EndConnect método ou.If you are using a connection-oriented protocol, LocalEndPoint will not return the locally assigned network address until after you have made a call to the Connect or EndConnect method. Se você estiver usando um protocolo sem conexão, você não terá acesso a essas informações até que você tenha concluído um envio ou recebimento.If you are using a connectionless protocol, you will not have access to this information until you have completed a send or receive.

Se um soquete UDP quiser receber informações de interface em pacotes recebidos, o SetSocketOption método deverá ser chamado explicitamente com a opção socket definida como PacketInformation imediatamente após a chamada do Bind método.If a UDP socket wants to receive interface information on received packets, the SetSocketOption method should be explicitly called with the socket option set to PacketInformation immediately after calling the Bind method.

Observação

Se você pretende receber datagrams multicast, deve chamar o Bind método com um número de porta multicast.If you intend to receive multicast datagrams, you must call the Bind method with a multicast port number.

Observação

Você deve chamar o Bind método se pretende receber datagramas sem conexão usando o ReceiveFrom método.You must call the Bind method if you intend to receive connectionless datagrams using the ReceiveFrom method.

Observação

Se você receber um SocketException ao chamar o Bind método, use a SocketException.ErrorCode propriedade para obter o código de erro específico.If you receive a SocketException when calling the Bind method, use the SocketException.ErrorCode property to obtain the specific error code. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo.This member outputs trace information when you enable network tracing in your application. Para obter mais informações, consulte rastreamento de rede na .NET Framework.For more information, see Network Tracing in the .NET Framework.

Aplica-se a

Confira também