linux平台上rmi使用的问题

04-09-03 ddb
小弟使用RMI技术开发的一个系统,在windows平台之间或linux于window之间都可以正常访问,但在linux平台之间却怎么都调用不起来,换了几机器都不行。百思不得其解,请各位大侠指教指教!!

banq
2004-09-04 17:53
要看设计思路的。你这几台机器需要放在同一个防火墙后面,否则建议使用基于Http的交互方案。

ddb
2004-09-06 10:43
谢谢banq的解答,不过我觉得不应该是防火墙的问题,因为server和client端在同一个局域网内。我再把情况相信介绍一下:

1、所以的试验均在局域网内进行;

2、当server端部署在window平台上的时候,client端不管是在window平台或linux平台均可;

3、当server端部署在linux平台上的时候,只有把client部署在统一台机器上才行,如果不在同一台机器上,无论client端是window或linux平台均不行;

另外,为了简化系统启动工作,没有在server端注册SecurityManager,不知道是否对此有影响?

部分代码如下:

try

{

java.rmi.registry.LocateRegistry.createRegistry(1099);

}

catch (RemoteException ex)

{

ex.printStackTrace();

}

//System.setSecurityManager(new RMISecurityManager());

try

{

TradeRequestRMIImpl implementation = new TradeRequestRMIImpl("TradeRequestRMIImpl");

implementation.setBuffer(tradeReqBuf); //需要传入CricoidArray 对象实例

/*//与控制台通信的远程对象,第一阶段不用

MessageReceiver messageReceiver = new MessageReceiver("MessageReceiver");

messageReceiver.setBanklist(banklist);

*/

}

catch (Exception e)

{

e.printStackTrace();

return false;

}

banq
2004-09-10 10:13
>没有在server端注册SecurityManager

至少ACL权限安全要开放吧?

你需要贴出出错信息,重要的是registry服务器端口要找到,你使用telnet IP 端口 测试,看看telnet端口是否一直打开。

猜你喜欢