请教各位大侠关于使用RMI中出现的错误:java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception

yxf718 2003-01-24 05:12:58
我在使用RMI时,RMIserver 放在Linux上,用client 进行远程方法调用时它抛出
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused: connect

at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:567)

at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)

at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:101)

at RMIAdmin_Stub.getACL(RMIAdmin_Stub.java:40)

at client.main(client.java:18)

Caused by: java.net.ConnectException: Connection refused: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)

at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)

at java.net.Socket.connect(Socket.java:426)

at java.net.Socket.connect(Socket.java:376)

at java.net.Socket.<init>(Socket.java:291)

at java.net.Socket.<init>(Socket.java:119)

at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)

at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)

at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562)

... 5 more
但是rmiserver放在NT下就没问题。
程序在tring url = "rmi://192.168.0.230:1099/";
Object o = Naming.lookup(url + "rmiadmin");
后得到的rmi 远程对象o我打印
System.out.println("rmi ......." + o.toString());
其打印结果为:
rmi .......RMIAdmin_Stub[RemoteStub [ref: [endpoint:[127.0.0.1:32780](remote),objID:[c2ea3f:f2eea04781:-8000, 0]]]]
我觉得在lookup后就有问题
请各位高人指点,不然我过年要加班了。谢谢!!!!!!!!
如解决问题在加分
...全文
4252 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
世宝宝 2003-01-27
  • 打赏
  • 举报
回复
你的Linux有防火墙,端口不允许连接。
yxf718 2003-01-27
  • 打赏
  • 举报
回复
不行,但我改动linux的/etc/hosts 文件就可以了
tsinxin 2003-01-26
  • 打赏
  • 举报
回复
编写策略文件,添加运行参数!
Kick_hotdog 2003-01-25
  • 打赏
  • 举报
回复
要用到策略文件
//启动注册表
rmiregistry -J-Djava.security.policy=registerit.policy
//启动server
java -Djava.security.policy=registerit.policy rmiserver
//启动client
java -Djava.security.policy=registerit.policy rmiclient

registerit
grant{
permission java.security.AllPermission;
}
//你运行的时候查一查运行参数
laocai8 2003-01-25
  • 打赏
  • 举报
回复
★°∴°°∴ ☆°.·★°∴°.
◢◣ 新 ◢◣
◢★◣ 春 ◢★◣
◢坛子◣ 快 ◢朋友◣ .·°∴★°.°∴°.☆° .·°
◢■■■◣乐 ◢■■■◣ ~~~~~~所有坛子里的朋友~~~~~~
︸︸||︸︸!!︸︸||︸︸°.°★ .·°∴°°.★☆° ·°

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧