Compartilhar via


Socket.Bind(EndPoint) Método

Definição

Associa um Socket a um ponto de extremidade 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

O local EndPoint para associar ao Socket.

Exceções

localEP é null.

Ocorreu um erro ao tentar acessar o soquete.

Um chamador mais alto na pilha de chamadas não tem permissão para a operação solicitada.

Exemplos

O exemplo de código a seguir associa um Socket usando o ponto de extremidade 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

Comentários

Use o Bind método se precisar usar um ponto de extremidade local específico. Você deve chamar Bind antes de chamar o Listen método . 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. Você pode usar o Bind método em protocolos orientados a conexão e sem conexão.

Antes de chamar Bind, primeiro você deve criar o local IPEndPoint do qual pretende comunicar dados. Se você não se importar com qual endereço local é atribuído, poderá 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. Isso pode ajudar a simplificar seu aplicativo se você tiver vários adaptadores de rede. Se você não se importar com qual porta local é usada, poderá criar um IPEndPoint usando 0 para o número da porta. Nesse caso, o provedor de serviços atribuirá um número de porta disponível entre 1024 e 5000.

Se você usar a abordagem acima, poderá descobrir qual endereço de rede local e o número da porta foram atribuídos chamando o LocalEndPoint. Se você estiver usando um protocolo orientado a conexão, LocalEndPoint não retornará o endereço de rede atribuído localmente até que você tenha feito uma chamada para o Connect método ou EndConnect . Se você estiver usando um protocolo sem conexão, não terá acesso a essas informações até concluir um envio ou recebimento.

Se um soquete UDP quiser receber informações de interface sobre pacotes recebidos, o SetSocketOption método deverá ser chamado explicitamente com a opção de soquete definida PacketInformation como imediatamente após chamar o Bind método .

Observação

Se você pretende receber datagramas multicast, deve chamar o Bind método com um número de porta multicast.

Observação

Você deve chamar o Bind método se pretende receber datagramas sem conexão usando o ReceiveFrom método .

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. 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.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Aplica-se a

Confira também