ubuntuusers.de

Java RMI

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

VolkerRaschek

Avatar von VolkerRaschek

Anmeldungsdatum:
19. August 2014

Beiträge: 358

Wohnort: Eifel

Hallo zusammen,
ich bin momentan dabei für die Uni ein Projekt zu realisieren. Da RMI in dem Projekt zu implementieren was aufwendiger ist und ich immer Fehlermeldungen bekomme wollte ich RMI mal ganz simpel umsetzen. Dazu habe ich mehrere Tutorials im Internet mir angeschaut und versucht um zu setzen. Allerdings habe ich die vermutung, dass diese alle veraltet sind.

Ich habe mich trozdem mal an folgendes Tutorial gehalten, mein Quellcode liegt auch bei git. Ich bekomme dort immer folgende Fehlermeldung in der Klasse ApplicationServer und Client.

Exception in thread "main" java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
	java.net.ConnectException: Verbindungsaufbau abgelehnt (Connection refused)
	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
	at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
	at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
	at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)
	at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
	at server.ApplicationServer.main(ApplicationServer.java:15)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.net.ConnectException: Verbindungsaufbau abgelehnt (Connection refused)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at java.net.Socket.connect(Socket.java:538)
	at java.net.Socket.<init>(Socket.java:434)
	at java.net.Socket.<init>(Socket.java:211)
	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
	... 10 more

Weiß jemand woran das liegt?

Viele Grüße
Volker

PS: Ich hoffe jemand kann mir helfen, ich stehe da total auf dem Schlauch.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Der Verbindungsaufbau wurde abgelehnt. Ist der Port gebunden, wenn du den Server startest?

VolkerRaschek

(Themenstarter)
Avatar von VolkerRaschek

Anmeldungsdatum:
19. August 2014

Beiträge: 358

Wohnort: Eifel

misterunknown schrieb:

Der Verbindungsaufbau wurde abgelehnt. Ist der Port gebunden, wenn du den Server startest?

Der Port gebunden? In wie fern? Ich hab den Server immer über IntelliJ gestartet.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

VolkerRaschek schrieb:

Der Port gebunden? In wie fern? Ich hab den Server immer über IntelliJ gestartet.

Die Fehlermeldung sagt ja "Connection refused to host: 127.0.0.1". Daher vermute ich, dass deine Applikation irgendwo auf einen lokalen Port zugreifen will, über den sie kommuniziert. Ich habe mir den Code nicht angeguckt (hab nicht groß Ahnung von Java), aber auch der Stack-Trace legt nahe, dass versucht wird eine TCP-Verbindung aufzubauen:

Exception in thread "main" java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
	java.net.ConnectException: Verbindungsaufbau abgelehnt (Connection refused)
	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
	at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
	at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)

Daher meine Vermutung, dass der Port nicht gebunden ist.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13216

misterunknown schrieb:

Daher meine Vermutung, dass der Port nicht gebunden ist.

Oder er ist es, aber eine Firewall-Regel blockt den Zugriff. (Nicht übermäßig wahrscheinlich bei localhost, aber eine Möglichkeit)

VolkerRaschek

(Themenstarter)
Avatar von VolkerRaschek

Anmeldungsdatum:
19. August 2014

Beiträge: 358

Wohnort: Eifel

Problem, gelöst.

Hatte bei mir im Code einen Gedankenfehler.

Viele Grüße
Volker

Antworten |