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
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)
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 mits.getInetAddress().getHostAddress()
unds.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
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 mits.getInetAddress().getHostAddress()
unds.getPort()
als Argumente genanntcheckAccept
Methode ist der Sicherheits-Manager den Betrieb zu gewährleisten, erlaubt ist. Dies könnte zu einemSecurityException
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.
- 1. Warum Java ServerSocket accept() gibt einen Socket mit dem gleichen Port wie ServerSocket zurück?
- 2. SocketTimeoutException: Accept timed out
- 3. Warten auf ServerSocket accept(), um den Socket in den "listen" -Modus zu setzen
- 4. ServerSocket in einem separaten Thread erstellen?
- 5. Korrekte Art, ServerSocket zu schließen
- 6. ServerSocket- Verhalten akzeptieren
- 7. Java ServerSocket-Verbindungslimit?
- 8. ServerSocket IP addr = ::/::
- 9. Bluetooth ServerSocket akzeptiert nicht
- 10. Kein Modul namens ServerSocket
- 11. serverSocket nicht zuhören
- 12. ServerSocket verliert Verbindungen ohne Fehler
- 13. Accept Zip-Datei mit Postman
- 14. Accept Integer-Eingabe in Swift
- 15. Symfony2 DateTime null accept
- 16. C++ Winsock - accept()
- 17. Accept XPATH 2.0 Ausdruck
- 18. ETag mit Accept-Language
- 19. HttpClient Accept Header funktioniert nicht
- 20. LuaSocket Server: accept() Timeout (TCP)
- 21. Den Haupt-Thread in Netty ServerSocket wiederherstellen
- 22. ServerSocket empfängt keine Daten in einer Schleife
- 23. Richtig trennen Client (Telnet) von ServerSocket
- 24. Java Serversocket gebunden, aber nicht hören
- 25. android bluetooth serversocket mit python-bluez client
- 26. ServerSocket kann nicht unter Android verwendet werden
- 27. Accept Gesuch von django NodeJS
- 28. Suchmaschinen und Browser accept-language
- 29. Nachrüstung 2: Standard Accept-Sprache
- 30. Aufruf accept() von mehreren Threads
So neue Socket wird auf der ServerSide erstellt? @Michael Ritter – CHAMP3333
na ja, ein Socket wird auf jeder Seite erstellt, das ist, was Client und Server verwenden, um –
zu kommunizieren, damit neuer Socket auf der Serverseite am neuen Port oder am selben angegebenen Port erstellt wird ..? – CHAMP3333