个人意见,仅供参考:其实我认为你可以用一个简单的servlet来解决这一切,使用http协议,这样你的问题会见但很多。

解决方案 »

  1.   

    servlet我在表示层用了,就是web服务中用了。关键是我这中间层。
    但还是谢谢了
      

  2.   

    1. 用rmi怎么不行?说来看看。
    2. 你对servlet的理解有问题,它是运行在服务端的程序,可以用来处理从客户端传来的数据,甚至它还可以结合RMI来用;而客户端根本不需要什么代理程序来收集相关的信息,只要一个浏览器就可以了。
    3. socket当然可以,它能穿越防火墙,我想防火墙都是开放80端口的吧。我的建议是:
    1。确信RMI是否真的不行,实际上这里RMI最合适。
    2。如果你不想去装Tomcat等能解析servlet的服务器,用socket,不过这样服务端和客户端都要有程序。
    3。否则在服务器上装一个Tomcat,只要Tomcat里放一个java程序就能搞定一切。
      

  3.   

    建议实用n层结构,业务逻辑层有servlet实现,通过http调用,防火墙开放http有关端口
      

  4.   


    也难怪我没说清楚,那么我就大体的说一下。
    1。在我的这系统中,最底层是一c++程序,用于收集各机器的运行进程。
    2。然后各机器的java代理程序把c++的信息封装为一个对象
    3。在服务器上有两个服务,一是java的应用服务,采用rmi收集所有的代理对象。二是web服务,最初采用applet,applet也采用了rmi,把应用服务收集的各机器信息对象调到applet中。然后显示信息
    防火墙基本没问题,但路由器的地址浮动问题,就解决不了了。在java代理和java应用服务之间,我不想用http。
      

  5.   

    rmi不能识别路由器给出的地址,换句话说就是它不能穿透路由器到内部的rmi的服务端去得到对象。因为路由器的地址转换比较复杂,怎么解决呢?高手请一定要帮忙。