Was würde dazu führen, dass ein TCP-Socket "java.net.BindException: Address" bereits verwendet, obwohl die reuse-Adresse auf "true" gesetzt ist? Dies tritt nur auf, wenn die Anwendung schnell neu gestartet wird. Läuft auf CentOS 5 Linux OS.Java Bind Exception
Antwort
Wenn das, was Sie sagen, korrekt ist, sollten Sie in der Lage sein, diese Ausnahme in einer Schleife abzufangen und nach einigen Sekunden erneut zu versuchen. (Sie sollten dies nicht tun müssen, aber ich habe von einigen seltsamen Dingen über CentOS gehört)
Java Bind Ausnahme tritt auf, wenn entweder Ihr Port oder InetAddress bereits verwendet wird und Sie noch einmal verwenden möchten. Wenn Sie also den Port freigeben, stoppen Sie das Programm, wenn es ausgeführt wird. sonst den Port ändern
Dank Deepak
Dieser irgendwie erklärt es:
http://www.beej.us/guide/bgnet/output/html/singlepage/bgnet.html#bind
wiederzuverwendenManchmal kann man feststellen, Sie versuchen einen Server und binden erneut ausführen() schlägt fehl , behauptet "Adresse wird bereits verwendet." Was bedeutet das? Nun, ein wenig Bit eines Sockels, der verbunden war, ist immer noch herum im Kernel, hängen und es ist der Port hogging. Sie können entweder warten, bis es (eine Minute oder so) zu löschen, oder Code zu Ihrem Programm hinzufügen ermöglicht es den Port, wie diese
(liefert C-Code)
Im Wesentlichen rufen Sie in C eine Funktion namens setsockopt() auf, und einer der Parameter heißt SO_REUSEADDR, mit dem Sie diesen Port wiederverwenden können.
fand ich einige kurze Links auf Google, die Sie begonnen haben, herauszufinden, bekommen sollte, wie in Java die entsprechende Option setzen:
http://java.sun.com/j2se/1.4.2/docs/guide/net/socketOpt.html
http://java.sun.com/j2se/1.4.2/docs/api/java/net/SocketOptions.html
Ihre Links funktionieren nicht mehr! – Jesus
- 1. Java SpringBoot Exception Handling
- 2. Java Malformed URL Exception
- 3. Java ImageIO: Exception Weirdness
- 4. Java Exception Handling Concept
- 5. java ssl hanshake exception
- 6. Java-Reflection ClassNotFound Exception
- 7. Java-Exception-Klassen
- 8. Java Exception Druck zweimal
- 9. Java Exception Handhabung Verständnis Problem
- 10. Java Reflection getMethod geben Exception
- 11. Java OutOfMemory Exception Wenn Zwischenablage
- 12. Java Exception Behandlung in "Ereignissen"
- 13. Jasper Java Kompilieren NoClassFound Exception
- 14. Customized Exception Hält mich "Exception: Unknown exception"
- 15. Java: ist Exception-Klasse Thread-sicher?
- 16. Java Illegal Thread State Exception Codierungsfehler
- 17. Array Index Out of Bounds Exception (Java)
- 18. Java Hibernate OneToOne Exception Mapping Fehler?
- 19. Wie man Exception zur Kompilierzeit in Java
- 20. Exception Listener
- 21. C++: Exception Exception seltsames Verhalten?
- 22. Automatisiertes Exception
- 23. std :: bind und winsock.h Bind Verwirrung
- 24. Handle Arbitrary Exception, Drucken Default Exception Nachricht
- 25. Get exception exception in @HystrixCommand Fallback-Methode
- 26. Grundlegendes Bind
- 27. Sql Exception gefangen wurde
- 28. AOP Exception Behandlung
- 29. std :: exception 's was() gibt "std :: exception" zurück
- 30. Tkinter bind Funktion
Sie stellen sicher, die TCP-Socket richtig schließen ? Wie starten Sie die Anwendung neu? – AlbertoPL
Es ist ein harter Neustart der Anwendung, der von einer anderen "Software-Monitor" -Anwendung beendet wird. (Nehmen wir einfach an, es ist ein Pkill). – Michael
Ich habe die gleiche Sache mit .NET unter Windows gesehen, wenn ein Server-Prozess "getötet" wurde anstatt normal herunterzufahren. –