2009-06-22 7 views
1

Ich möchte wissen, ob mein RMI-Port verfügbar oder wenn besetzt ist. Während ich weiß, dass eine Ausnahme ausgelöst wird, wenn es keine Verbindung herstellen kann, möchte ich das unter Kontrolle haben - um eine Nachricht "Verbindung fehlgeschlagen" zu zeigen und den Prozess zu stoppen. (Ich arbeite mit Eclipse). Wie kann das gemacht werden?Wie kann ich prüfen, ob RMI angeschlossen ist/angeschlossen werden kann?

+0

laufen kann ich nicht wirklich bekommen, was du machen willst. Ist das eine Art Eclipse-Plugin? Was meinst du mit "mein RMI-Port ist beschäftigt"? Bitte erläutern, vorzugsweise mit etwas Beispielcode. –

+0

@DanielSchneller Sie nicht [Java RMI] (http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html)? – Anubis

+0

Definieren Sie "mein RMI-Port", "verfügbar oder besetzt", "es", "habe das unter Kontrolle". Frage ist unverständlich. – EJP

Antwort

3

Im Allgemeinen können Sie Häfen nicht steuern, seine Art einer first come first served. Wenn Sie an einem Port beispielsweise 3306 hören möchten, versuchen Sie einfach, einen Server-Socket darauf zu öffnen, wenn der Binding-Vorgang fehlschlägt, weil er bereits verwendet wird.

RMI wird an einem bestimmten Port ausgeführt, und vielleicht handelt es sich bei Ihrer Frage um clientseitige Sockets. In diesem Fall müssen Sie nur sicherstellen, dass der RMI-Dienst ausgeführt wird.

Unter der Annahme, u wollen herausfinden, ob RMI läuft, u CUD versuchen, einen RMI-Dienst auf diesem Port zur Gründung, wenn es wegen einer „Refused verbinden“ nicht Ausnahme, dann wird RMI nicht

+0

Willst du sagen, dass das die einzige Möglichkeit ist zu wissen, ob die Registrierung läuft? Können Sie nicht etwas Besseres tun, als nur zu entscheiden, wenn eine Ausnahme ausgelöst wird? – Anubis

+0

@Anubis Definieren Sie "besser". Java löst "ConnectExceptions" aus. Das ist der definierte Mechanismus. – EJP

Verwandte Themen