tôi đang làm việc trên một trò chơi RMI dòng lệnh nhưng, bất cứ khi nào tôi cố gắng dịch vụ của tôi, tôi nhận được một lỗi như thế này:Java RMI Connect Ngoại lệ: kết nối từ chối đăng cai/timeout
java.rmi.ConnectException: Connection refused to host: 192.168.56.1; nested exception is:
java.net.ConnectException: Connection timed out: connect
Đây là lớp chính cho Server
tôi:
public class RMIWar {
public static void main(String[] args) throws RemoteException, MalformedURLException {
try {
Controle obj = new Controle(4);
Registry reg = LocateRegistry.createRegistry(1099);
System.out.println("Server is ready");
reg.rebind("CtrlServ", obj);
}
catch (Exception e) {
System.out.println("Error: " + e.toString());
}
}
}
các chính cho Client
lớp học của tôi:
public class RMIWarClient {
public static void main(String[] args) throws RemoteException, MalformedURLException, NotBoundException {
try {
Registry registry = LocateRegistry.getRegistry("localhost");
ControleInt ctrl = (ControleInt) registry.lookup("CtrlServ");
System.out.println("CtrlServ found...\n");
BioRMI bio = new BioRMI(null, 5,5,5);
ctrl.thRegister("Test", bio.atk, bio.def, bio.agi);
}
catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
Bất kỳ đề xuất nào?
Không có điều nào trong số này sẽ gây ra thời gian chờ kết nối. – EJP
cổng được tường lửa sẽ –
@EJP Giới thiệu về thời gian chờ kết nối, tôi đã viết: "Kiểm tra xem cổng 1099 của bạn có khả dụng hay không". Điều này có nghĩa là để kiểm tra xem cổng có sẵn hoặc tường lửa hay không. Lưu ý của tôi về sự bắt đầu của rmiregistry là vì OP đã không viết bất cứ điều gì về điều đó, và bởi vì, đôi khi việc không thực hiện các dịch vụ là lý do của một kết nối từ chối. Nếu Client muốn thực thi một phương thức của Server, nhưng nếu Server không chạy cục bộ với dịch vụ, Client sẽ không bao giờ thực thi phương thức này. –