Sdílet prostřednictvím


Socket.Accept Metoda

Definice

Vytvoří nové Socket pro nově vytvořené připojení.

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

Návraty

A Socket pro nově vytvořené připojení.

Výjimky

Při pokusu o přístup k soketu došlo k chybě.

Přijímající soket nenaslouchá připojení. Před voláním Accept()musíte zavolat Bind(EndPoint) a Listen(Int32) .

Příklady

Následující příklad kódu přijímá jednoduché Socket připojení.

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

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

Poznámky

Accept Synchronně extrahuje první čekající požadavek na připojení z fronty žádostí o připojení naslouchacího soketu a pak vytvoří a vrátí nový Socket. Vrácenou možnost Socket nelze použít k přijetí dalších připojení z fronty připojení. Můžete však volat metodu RemoteEndPoint vrácenou Socket k identifikaci síťové adresy a čísla portu vzdáleného hostitele.

V režimu blokování blokuje, Accept dokud není příchozí pokus o připojení zařazen do fronty. Jakmile je připojení přijato, původní Socket bude dál zařaďovat příchozí žádosti o připojení do fronty, dokud ho nezavřete.

Pokud tuto metodu zavoláte pomocí neblokujícího Socketobjektu a žádné požadavky na připojení nejsou ve frontě, Accept vyvolá chybu SocketException. Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Jakmile tento kód získáte, projděte si podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Poznámka

Před voláním Accept metody musíte nejprve volat metodu Listen , která naslouchá příchozím požadavkům na připojení a zařadí do fronty.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

Viz také