Eclipse 4.23.0 Verbindung zum Host verweigert: localhost; Die verschachtelte Ausnahme lautet: java.net.ConnectException:Java

Java-Forum
Anonymous
 Eclipse 4.23.0 Verbindung zum Host verweigert: localhost; Die verschachtelte Ausnahme lautet: java.net.ConnectException:

Post by Anonymous »

Ich arbeite gerade den Abschnitt über Proxy-Muster in „Head First Design Patterns“, 2. Auflage, von Freeman und Robson durch. Ich verwende Windows 10 und habe festgestellt, dass localhost ordnungsgemäß funktioniert, da der Windows IIS-Bildschirm angezeigt wird, wenn ich zu localhost oder http://127.0.0.1/ navigiere. rmiregistry wird zuvor ohne Probleme über die cmd-Zeile gestartet. Ich führe den Test bei ausgeschalteter Firewall durch und erhalte immer noch die unten aufgeführte Fehler-Stack-Ablaufverfolgung. Ich führe die GumballMachineTestDrive-Klasse direkt in Eclipse aus, indem ich mit der rechten Maustaste auf die .java-Datei klicke und „Ausführen als“ „Java-Anwendung“ auswähle. Der Screenshot unten zeigt die Ausführungskonfigurationen für GumballMachineTestDrive, wobei args[0] == „localhost“ und args 1 == 112. Ich habe localhost und 127.0.0.1 angepingt, beide zeigen keine Probleme. Ich habe zuvor versucht, den Hostnamen des RMI-Servers festzulegen, wie in der Zeile „System.setProperty(“java.rmi.server.hostname“, „127.0.0.1“); zu sehen ist, aber das machte keinen Unterschied. Für Hinweise in die richtige Richtung wären wir sehr dankbar.
Image

Servicecode:

Code: Select all

package GumballMachineStatePattern;

import java.rmi.Naming;

public class GumballMachineTestDrive {

public static void main(String[] args) {
GumballMachineRemote gumballMachine = null;

//  System.setProperty("java.rmi.server.hostname", "127.0.0.1");

int count;

if (args.length < 2) {
System.out.println("GumballMachine  ");
System.exit(1);
}

try {

count = Integer.parseInt(args[1]);

gumballMachine = new GumballMachine(args[0], count);
Naming.rebind("//" + args[0] + "/gumballmachine", gumballMachine);

} catch (Exception e) {
e.printStackTrace();
}
}
}
Code für die GumballMachine-Klasse:

Code: Select all

package GumballMachineStatePattern;
import java.rmi.*;
import java.rmi.server.*;

public class GumballMachine extends UnicastRemoteObject implements GumballMachineRemote {

private static final long serialVersionUID = 2L;

State soldOutState;
State noQuarterState;
State hasQuarterState;
State soldState;
State winnerState;

State state = soldOutState;
int count = 0;

String location;

public GumballMachine(String location, int count) throws RemoteException {
soldOutState = new SoldOutState(this);
noQuarterState = new NoQuarterState(this);
hasQuarterState = new HasQuarterState(this);
soldState = new SoldState(this);
winnerState = new WinnerState(this);

this.location = location;

this.count = count;
if (count > 0) {
state = noQuarterState;
} else {
state = soldOutState;
}
}

public void insertQuarter() {
state.insertQuarter();
}

public void ejectQuarter() {
state.ejectQuarter();
}

public void turnCrank() {
state.turnCrank();
state.dispense();
}

void setState(State state) {
this.state = state;
}

void releaseBall() {
System.out.println("A gumball comes rolling out of the slot...");
if (count > 0) {
count = count - 1;
}
}

public int getCount() {
return count;
}

void refill(int count) {
this.count += count;
System.out.println("The gumball machine was just refilled; its new count is: " + this.count);
state.refill();
}

public State getState() {
return state;
}

public State getSoldOutState() {
return soldOutState;
}

public State getNoQuarterState() {
return noQuarterState;
}

public State getHasQuarterState() {
return hasQuarterState;
}

public State getSoldState() {
return soldState;
}

public State getWinnerState() {
return winnerState;
}

public String getLocation() {
return location;
}

public String toString() {
StringBuffer result = new StringBuffer();
result.append("\nMighty Gumball, Inc.");
result.append("\nJave-enabled Standing Gumball Model #2004\n");
result.append("Inventory: " + count + " gumball");

if (count != 1) {
result.append("s");
}
result.append("\n");
result.append("Machine is " + state + "\n");

return result.toString();
}
}
GumballMachineTestDrive-Stack-Trace, wobei args[0] == „localhost“ und args1 = 112

Code: Select all

java.rmi.ConnectException: Connection refused to host: localhost;  nested exception is:
java.net.ConnectException: Connection refused: connect
at java.rmi/sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:626)
at java.rmi/sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:217)
at java.rmi/sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:204)
at java.rmi/sun.rmi.server.UnicastRef.newCall(UnicastRef.java:344)
at java.rmi/sun.rmi.registry.RegistryImpl_Stub.rebind(RegistryImpl_Stub.java:150)
at java.rmi/java.rmi.Naming.rebind(Naming.java:177)
at GumballMachineStatePattern.GumballMachineTestDrive.main(GumballMachineTestDrive.java:24)
Caused by: java.net.ConnectException: Connection refused: connect
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Net.java:579)
at java.base/sun.nio.ch.Net.connect(Net.java:568)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:633)
at java.base/java.net.Socket.connect(Socket.java:583)
at java.base/java.net.Socket.(Socket.java:507)
at java.base/java.net.Socket.(Socket.java:287)
at java.rmi/sun.rmi.transport.tcp.TCPDirectSocketFactory.createSocket(TCPDirectSocketFactory.java:40)
at java.rmi/sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:620)
... 6 more

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post