Socket.Bind(EndPoint) Método

Definição

Associa a Socket a um endpoint 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 aceder ao soquete.

O Socket local foi encerrado.

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

Exemplos

O seguinte exemplo de código associa a Socket usando o ponto terminal local especificado.

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

Observações

Use o Bind método se precisar de usar um endpoint local específico. Deve ligar Bind antes de poder ligar para o Listen sistema. Não precisa de ligar Bind antes de usar o Connect método, a menos que precise de usar um endpoint local específico. Pode usar o Bind método tanto em protocolos sem ligação como orientados para conexão.

Antes de ligar Bind, deve primeiro criar o local IPEndPoint a partir do qual pretende comunicar os dados. Se não se importar com qual endereço local é atribuído, pode criar um IPEndPoint usando IPAddress.Any como parâmetro de endereço, e o fornecedor de serviços subjacente atribuirá o endereço de rede mais apropriado. Isto pode ajudar a simplificar a sua aplicação se tiver múltiplas interfaces de rede. Se não te importares com qual porta local é usada, podes criar um IPEndPoint número de porta usando 0. Neste caso, o fornecedor de serviços atribuirá um número de porta disponível entre 1024 e 5000.

Se usar a abordagem acima, pode descobrir qual o endereço de rede local e o número de porta atribuídos ao ligar para o LocalEndPoint. Se estiver a usar um protocolo orientado à ligação, LocalEndPoint não devolverá o endereço de rede atribuído localmente até depois de ter feito uma chamada para o Connect método ou.EndConnect Se estiver a usar um protocolo sem conexão, não terá acesso a esta informação até completar um envio ou receção.

Se um socket UDP quiser receber informação de interface nos pacotes recebidos, o SetSocketOption método deve ser chamado explicitamente com a opção socket definida para PacketInformation imediatamente após a chamada ao Bind método.

Note

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

Note

Deve chamar o Bind método se pretende receber datagramas sem ligação usando o ReceiveFrom método.

Note

Se receber um ao SocketException chamar o Bind método, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter este código, consulte a documentação do código de erro da API Windows versão 2 dos Sockets para uma descrição detalhada do erro.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Aplica-se a

Ver também