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 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
Exceções
localEP
é null
.
Ocorreu um 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 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.