Qu'est-ce qui provoquerait un socket TCP à lancer "java.net.BindException: adresse déjà utilisée" même lorsque l'adresse de réutilisation est définie sur true? Cela se produit uniquement si l'application est rapidement redémarrée. En cours d'exécution sur CentOS 5 linux OS.Java Bind Exception
Répondre
Si ce que vous dites est correct, vous devriez pouvoir intercepter cette exception dans une boucle et réessayer après quelques secondes. (Vous ne devriez pas avoir à faire cela, mais j'ai entendu parler de quelques choses bizarres sur CentOS)
Java Exception de liaison se produit Si votre port ou InetAddress est déjà utilisé et que vous souhaitez utiliser à nouveau. Alors libérez le port d'arrêter le programme en cours d'exécution. autrement changer le port
Merci Deepak
Ceci explique kinda:
http://www.beej.us/guide/bgnet/output/html/singlepage/bgnet.html#bind
Parfois, vous remarquerez peut-être, vous essayez exécuter à nouveau un serveur et bind() échoue , affirmant "Adresse déjà utilisée". Qu'est-ce que cela signifie? Eh bien, un peu de un socket qui a été connecté est qui traîne encore dans le noyau, et il monopolise le port. Vous pouvez soit attendre à effacer (une minute environ), ou ajouter du code à votre programme permettant de réutiliser le port, comme cette
(fournit le code C)
Fondamentalement, en C, vous appelez une fonction appelée setsockopt(), et l'un des paramètres s'appelle SO_REUSEADDR, ce qui vous permet de réutiliser ce port.
J'ai trouvé quelques liens bref sur Google qui devrait vous aider à démarrer déterminer comment définir l'option équivalente en Java:
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
vos liens ne fonctionnent plus! – Jesus
- 1. Java exception ne pris
- 2. Java Security Exception
- 3. serialport exception java
- 4. exception java question enchaînant
- 5. Java Exception d'impression deux fois
- 6. java inattendue SimpleDateFormat Parse exception
- 7. Bind: Adresse déjà utilisée
- 8. Simuler <% # Bind (...)%>
- 9. Aide bind boost/fonctions
- 10. bouton Tkinter bind
- 11. JavaFX Bind/Loop question
- 12. Message: Modèles Bind
- 13. Java Inetaddress, Swing étend et jette Exception
- 14. Java gestion des exceptions - exception personnalisée
- 15. faire exception java: java.net.MalformedURLException: aucun protocole
- 16. classe Java Jar non trouvé Exception
- 17. bind ip au sous-domaine
- 18. Bind nullable DateTime à MaskedTextBox
- 19. jquery validate bind flou événement
- 20. Boost :: bind et std :: copy
- 21. bind ip au sous-domaine
- 22. comment boost :: fonction et boost :: bind travail
- 23. Problème boost :: imbrication lambda :: bind-s
- 24. Evénement jQuery Bind qui déclenche l'événement
- 25. Silverlight Bind à TextBlock de RIA Services
- 26. Courant NHibernate - Liste bind <int>
- 27. JavaFX 1: modificateurs d'accès bind et var
- 28. Différence entre .bind et d'autres événements
- 29. aide avec une exception de pointeur nul en Java
- 30. Web Service lancer exception en utilisant Axis2 Java
Êtes-vous sûr de fermer correctement le socket TCP ? Comment redémarrez-vous l'application? – AlbertoPL
Il s'agit d'un redémarrage brutal de l'application terminée par une autre application «moniteur logiciel». (Supposons juste que c'est un pkill). – Michael
J'ai vu la même chose avec .NET sous Windows, si un processus serveur était "tué" au lieu de s'arrêter normalement. –