Socket.Accept Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy nowe Socket dla nowo utworzonego połączenia.
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
Zwraca
A Socket dla nowo utworzonego połączenia.
Wyjątki
Wystąpił błąd podczas próby uzyskania dostępu do gniazda.
Została zamknięta Socket .
Gniazdo akceptujące nie nasłuchuje połączeń. Musisz wywołać metodę Bind(EndPoint) i Listen(Int32) przed wywołaniem metody Accept().
Przykłady
Poniższy przykład kodu akceptuje proste Socket połączenie.
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
Uwagi
Accept synchronicznie wyodrębnia pierwsze oczekujące żądanie połączenia z kolejki żądań połączenia gniazda nasłuchiwania, a następnie tworzy i zwraca nowy Socket. Nie można użyć tego zwróconego Socket polecenia, aby zaakceptować dodatkowe połączenia z kolejki połączeń. Można jednak wywołać metodę RemoteEndPoint zwróconej Socket metody w celu zidentyfikowania adresu sieciowego i numeru portu hosta zdalnego.
W trybie Accept blokowania bloki są blokowane, dopóki próba połączenia przychodzącego nie zostanie w kolejce. Po zaakceptowaniu połączenia oryginał Socket kontynuuje kolejkowanie przychodzących żądań połączeń do momentu jego zamknięcia.
Jeśli wywołasz tę metodę przy użyciu metody bez blokowania Socket, a żadne żądania połączenia nie są kolejkowane, Accept zgłasza błąd SocketException. Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API gniazda systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.
Uwaga
Przed wywołaniem metody należy najpierw wywołać metodę AcceptListen , aby nasłuchiwać żądań połączeń przychodzących i kolejkować je.
Uwaga
Ten element członkowski generuje informacje ze śledzenia pod warunkiem włączenia funkcji śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.