首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的RMI服务器在客户端连接之前就退出了?

为什么我的RMI服务器在客户端连接之前就退出了?
EN

Stack Overflow用户
提问于 2017-04-07 23:04:51
回答 1查看 74关注 0票数 0

启动在指定端口上运行的程序后,程序在客户端能够连接到该端口之前终止。

代码语言:javascript
复制
    try {
        StudentService obj = new StudentService();
        Registry r = LocateRegistry.createRegistry(4200);
        r.bind("localhost", obj);

    } catch (RemoteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (AlreadyBoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

这是位于已被重写的StudentService类中的方法。

代码语言:javascript
复制
int multiply(int s, int b) throws RemoteException {
    return s * b;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-07 23:35:05

从文件来看,

UnicastRemoteObject.exportObject导出提供的远程对象以在匿名TCP端口上接收传入的远程方法调用,并返回要传递给客户端的远程对象存根。

因此,您的程序在没有侦听传入连接的情况下结束是不足为奇的。这应该能行。

代码语言:javascript
复制
try {
    StudentService obj = new StudentService();
    UnicastRemoteObject.exportObject(obj, 0);

    Registry r = LocateRegistry.createRegistry(4200);
    r.bind("localhost", obj);

} catch (RemoteException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (AlreadyBoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43288280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档