我现在做了个RMI服务端和客户端,在局域网内部可以访问,但我现在想在外网访问,怎么处理。
路由器上已经将端口映射了。

解决方案 »

  1.   

    我们做的也只是根据局域网IP地址访问,在网络上倒是也没试过,用网络上的IP地址不可以吗?也顺便来学一下
      

  2.   

    最主要就是要解决如何跟NAT内部的电脑连接,没搞过,进来学习下
      

  3.   

    既然路由器上已经将端口映射了,那么就应该直接访问路由的公网IP加端口,至于NAT应该是路由自己的事情了
      

  4.   

    防火墙还要允许RMI协议的包通过
      

  5.   

    答:只要TCP的端口映射成功就行了.当然,在RMI布署时,你还需要设置WEB Server及配置安全策略,对该WEB Server也要作TCP的端口映射,否则RMI的相关类的动态下载会出问题.
      

  6.   


    还得考虑防火墙的问题,好多企业防火墙只允许过HTTP
      

  7.   

    答:你是指:防火墙的基于内容的过滤?难道是通过分析TCP报文中的内容,来判别这是一个HTTP报文(这个HTTP报文判别本身就会有问题的,即:你的判别的依据是什么?仅仅是HTTP报文的格式作为依据?)或者,难道是通过TCP的PORT来判别这是HTTP?(如:PORT是80)
    防火墙是无法判别出这是一个所谓的RMI报文的.(即:判别的依据?)
    RMI就是一个TCP的1099(默认注册表的PORT)的连接.(而:远程对象的PORT若没有指定,则会内容指定一个.这个PORT可能要端口映射).
      

  8.   

    就是根据报文内容来判断是否是HTTP的
    所以我们一般使用Hessian来实现远程调用,Hessian就是基于HTTP的远程访问协议。
      

  9.   

    答:它不就是一个WEB SERVICE吗?用于异构系统的轻量级的访问.哪楼主不就干脆用WEB SERVICE了?(WEB SERVICE的性能可要仔细考虑了)
      

  10.   


    可以看成WEB SERVICE,但它是二进制的,而且格式协议相对XML要更轻量级,性能比WS好得多了