Socket.Bind(EndPoint) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Associa um a um Socket 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
Exceções
localEP é null.
Erro ao tentar acessar o soquete.
O Socket foi fechado.
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 uso do ponto de extremidade 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
Comentários
Use o Bind método se precisar usar um ponto de extremidade local específico. Você deve ligar Bind antes de poder 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 sem conexão e orientados à 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 uso 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 uso 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 à conexão, LocalEndPoint não retornará o endereço de rede atribuído localmente até que você tenha feito uma chamada ao Connect método ou EndConnect ao método. 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 em pacotes recebidos, o SetSocketOption método deverá ser chamado explicitamente com a opção de soquete definida PacketInformation imediatamente após chamar o Bind método.
Observação
Se você pretende receber datagrams 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 datagrams 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 gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.