如何为rmi客户端设置静态客户端端口?

时间:2016-05-09 07:17:38

标签: java rmi

我需要一种为rmi客户端设置静态端口的方法。服务器为其连接使用固定端口,但客户端创建动态端口,但我设置了客户端套接字工厂。

我发现的根本原因是在课程" TCPChannel"中。在本课程中,我看到了这段代码:

TCPEndpoint.getLocalEndpoint(0, (RMIClientSocketFactory)null, (RMIServerSocketFactory)null);

这显然不会起作用,因为这段代码不知道我的套接字工厂。显然这个类不是RMI特有的。

问题是 - 是否有办法覆盖tcp套接字创建,使其根本不创建动态端口?

1 个答案:

答案 0 :(得分:0)

  

客户端创建了一个动态端口,虽然我设置了一个客户端套接字工厂。

你设定它怎么样?无论你做了什么,你都没有做好。

但为什么要这样呢?有很多缺点。首先,它会导致来自该客户端的所有RMI调用被序列化,可能每隔两分钟,或者可能导致更频繁的任何调用以BindExceptions失败。

另一方面,它可能对DGC产生不利影响。

并没有任何实际的好处。

  

显然这个类不是特定于RMI的。

什么课?有什么明显的呢?

相关问题