2016-05-23 7 views
-2

Ich bekomme einen java.net.BindException: Address already in use: JVM_Bind Fehler, wenn ich versuche, einen Listener zu schließen. Hier ist mein Code beim Öffnen des Zuhörers.java.net.BindException: Adresse bereits verwendet: JVM_Bind Fehler beim Versuch, einen Listener zu schließen

SMPPServerSessionListener sessionListener = new SMPPServerSessionListener(newPort); 

und hier ist mein Code, der es schließt.

Was mein Programm tut ist, fragen Sie den Benutzer nach Port-Nummer und starten Sie es beim Senden. Dann versuche ich, den Listener zu schließen, wenn der Benutzer auf die Schaltfläche "Stop Server" klickt, die die Methode getClossConn() auslöst, aber ich bekomme den Fehler, den ich zuvor erwähnt habe. Hilfe bitte. PS: Bitte nicht auf mich hart bin ich hier gerade neu :)

+2

Warum versuchen Sie, eine neue Sitzung in Ihrer close-Methode _open_ zu öffnen? Wenn die Serversitzung bereits geöffnet ist und Sie versuchen, eine andere Sitzung am selben Port zu öffnen, erhalten Sie genau den Fehler, den Sie sehen. –

+1

@JimGarrison Hallo Herr, ist das die Linie, von der du sprichst? 'SMPPServerSessionListener sess = neuer SMPPServerSessionListener (newPort); '.Ich dachte, in dieser Zeile würde ich die aktive Sitzung aufrufen und dann' sess.close() 'schließen. Mache ich es nicht richtig? – chiradee

+0

Siehe meine Antwort unter –

Antwort

0

Sie nicht

SMPPServerSessionListener sess = new SMPPServerSessionListener(newPort); 

erwartet Aufruf sollten den bestehenden Hörer zu bekommen. Diese Anweisung versucht, an demselben Port wie der vorhandene Listener einen neuen Listener zu erstellen, der zu dem angezeigten Fehler führt.

Sie sollten einen Verweis auf die vorhandene Sitzung an die Schließen-Methode übergeben und , dass stattdessen schließen.

+1

Danke sir @JimGarrison. Das funktioniert gut für mich. :) – chiradee

Verwandte Themen