나는이 두 RMI 자바 응용 프로그램 :자바 RMI 서버 호스트 이름
ngrok tcp 1099
: 둘 사이의 통신이 Ngrok의 도움으로 이루어집니다
System.setProperty("java.rmi.server.hostname","0.tcp.ngrok.io");
System.setProperty("java.security.policy","security.policy");
Calculator c = (Calculator) Naming.lookup("//0.tcp.ngrok.io:18872"+"/Calc");
int sum=c.add(1, 5);
서버
System.setProperty("java.rmi.server.hostname","0.tcp.ngrok.io");
System.setProperty("java.security.policy","security.policy");
if (System.getSecurityManager() == null)
{
System.setSecurityManager(new SecurityManager());
}
Registry r = LocateRegistry.createRegistry(1099);
r.rebind("Calc",new CalculatorImpl());
클라이언트
결과
Session Status online
Account nival (Plan: Free)
Version 2.2.8
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding tcp://0.tcp.ngrok.io:18872 -> localhost:1099
Connections ttl opn rt1 rt5 p50 p90
5 0 0.00 0.00 5.88 17.03
내 문제는 다음과 같습니다
RemoteException
java.rmi.ConnectException: Connection refused to host: 0.tcp.ngrok.io; nested exception is:
java.net.ConnectException: Connection timed out: connect
나는 문제가 내가 "java.rmi.server.hostname에서 서버와 클라이언트에 넣어해야하는지
System.setProperty("java.rmi.server.hostname","0.tcp.ngrok.io");
에서 생각 "? (내 나쁜 영어 죄송합니다)
일반적으로