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.
Element Socket został zamknięty.
Gniazdo akceptujące nie nasłuchuje połączeń. Przed wywołaniem metody należy wywołać metodę Bind(EndPoint) i Listen(Int32) .Accept()
Przykłady
Poniższy przykład kodu akceptuje proste Socket połączenie.
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 Socketelement . Nie można użyć tego zwróconego Socket elementu, 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 blokuje, dopóki nie zostanie kolejkowana próba połączenia przychodzącego. 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 nieblokujących 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 windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.
Uwaga / Notatka
Przed wywołaniem Accept metody należy najpierw wywołać metodę Listen , aby nasłuchiwać żądań połączeń przychodzących i kolejkować je.
Uwaga / Notatka
Ten członek generuje dane śledzenia po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.