我现在要创建一个RMI服务,在创建远程对象的时候继承UnicastRemoteObject,其中UnicastRemoteObject有一个构造函数为UnicastRemoteObject(int port)。我现在就想用这个来固定通讯端口。
请帮忙解释一下怎么实现,对这类RMI服务对象的调用。

解决方案 »

  1.   

    你在继承UnicastRemoteObject 类的时候,定义一个构造函数不就行了吗?
    不清楚,你的问题是什么
      

  2.   

    你自己写一个类 import java.rmi.server.*;
    import java.io.*;
    import java.net.*;
    public class SMRMISocket extends RMISocketFactory {
        public Socket createSocket(String host, int port) 
            throws IOException{
            return new Socket(host,port);
        }
        public ServerSocket createServerSocket(int port) 
            throws IOException {
            if (port == 0)
                port = 1099;
            return new ServerSocket(port);
        }
    }
    在实例化rmi对象前调用,即可让rmi的 1099和那个随机socket端口统一为一个固定端口