2017-01-23 2 views
-1

Kann mir bitte jemand erklären, wie diese accept() Methode funktioniert.Was gibt es zurück? Erstellt es einen neuen Socket auf der Serverseite? Gibt es die Referenz des auf der Client-Seite erstellten Sockets zurück? Ich bin so verwirrt. Es wäre eine große Hilfe, wenn jemand helfen könnte.ServerSocket accept() Methode

Antwort

2

ServerSocket.accept() wartet/blockiert, bis ein Client einer Verbindung, die Verbindung aufbaut und kehrt das serverseitige Socket Objekt, das verwendet werden kann, mit dem Client (Client hat ein Socket Objekt als auch)

+0

So neue Socket wird auf der ServerSide erstellt? @Michael Ritter – CHAMP3333

+0

na ja, ein Socket wird auf jeder Seite erstellt, das ist, was Client und Server verwenden, um –

+0

zu kommunizieren, damit neuer Socket auf der Serverseite am neuen Port oder am selben angegebenen Port erstellt wird ..? – CHAMP3333

1

Von Java API documentation of ServerSocket zu kommunizieren:

Wartet auf eine Verbindung zu dieser Buchse hergestellt werden und akzeptiert sie. Die -Methode blockiert, bis eine Verbindung hergestellt wird.

ein neuer Socket s erstellt wird und, wenn es ein Sicherheitsmanager ist, wird checkAccept Methode ist der Sicherheitsmanagers mit s.getInetAddress().getHostAddress() und s.getPort() als Argumenten genannt Betrieb gewährleisten darf. Dies könnte zu einer SecurityException führen.

Sie können auch ein gutes Tutorial darüber finden: here

0

Vom javadoc:

public Socket accept() throws IOException 

abhört, ob eine Verbindung zu dieser Buchse hergestellt werden und akzeptiert sie. Die Methode blockiert, bis eine Verbindung hergestellt wird.

ein neuer Socket s wird erstellt und, wenn es ein Sicherheitsmanager ist, wird mit s.getInetAddress().getHostAddress() und s.getPort() als Argumente genannt checkAccept Methode ist der Sicherheits-Manager den Betrieb zu gewährleisten, erlaubt ist. Dies könnte zu einem SecurityException führen.

Kurz gesagt, wenn Sie Ihre ServerSocket einrichten auf einem bestimmten Port auf Ihrem Computer/Gerät zu hören, wird es automatisch die erste Remote-Client akzeptieren, um eine Verbindung herzustellen versucht. Es wird eine Socket zurückgegeben, die Sie mit den Daten InputStream und OutputStream zwischenspeichern können, um Daten zu senden und zu empfangen.