Sdílet prostřednictvím


Socket.Accept Metoda

Definice

Vytvoří novou 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ě.

Ta Socket byla uzavřena.

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

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 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í novou Socket. Tuto vrácenou Socket možnost nelze použít k přijetí dalších připojení z fronty připojení. Můžete však volat metodu RemoteEndPoint vrácené Socket k identifikaci síťové adresy a čísla portu vzdáleného hostitele.

V režimu blokování blokuje blokování, Accept dokud nebude příchozí pokus o připojení zařazen do fronty. Jakmile je připojení přijato, původní Socket pokračuje ve frontě příchozích požadavků na připojení, dokud ho nezavřete.

Pokud zavoláte tuto metodu pomocí neblokujícího Socketa žádné požadavky na připojení nejsou zařazeny do fronty, Accept vyvolá výjimku SocketException. Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Poznámka:

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

Poznámka:

Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

Viz také