Socket.Accept Método

Definição

Cria uma nova Socket ligação para uma ligação recém-criada.

public:
 System::Net::Sockets::Socket ^ Accept();
public System.Net.Sockets.Socket Accept();
member this.Accept : unit -> System.Net.Sockets.Socket
Public Function Accept () As Socket

Devoluções

A Socket de uma ligação recém-criada.

Exceções

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

A tomada de receção não está a ouvir ligações. Deve ligar Bind(EndPoint) antes Listen(Int32) de ligar Accept().

Exemplos

O seguinte exemplo de código aceita uma ligação simples Socket .

protected void AcceptMethod(Socket listeningSocket)
{
    Socket mySocket = listeningSocket.Accept();
}
   Protected Sub AcceptMethod(listeningSocket As Socket)
       

Dim mySocket As Socket = listeningSocket.Accept()
       
   End Sub

Observações

Accept extrai sincronizadamente o primeiro pedido de ligação pendente da fila de pedidos de ligação do socket de escuta, e depois cria e retorna um novo Socket. Não pode usar este retorno Socket para aceitar quaisquer ligações adicionais da fila de ligações. No entanto, pode chamar o RemoteEndPoint método do retorno Socket para identificar o endereço de rede e o número de porta do host remoto.

No modo de bloqueio, Accept bloqueia até que uma tentativa de ligação recebida seja colocada em fila. Uma vez aceite uma ligação, a original Socket continua a enfileirar pedidos de ligação até que a feche.

Se chamar este método usando um não-bloqueante Socket, e não houver pedidos de ligação em fila, Accept lança um SocketException. Se receber um SocketException, 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

Antes de chamar o Accept método, deve primeiro chamá-lo Listen para ouvir e colocar em fila os pedidos de ligação recebidos.

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