现拟做一件事情,用来监控多个机器的状态。
结构:
    客户端:用Java Application, 图形客户端 Swing,主要用来显示,也接受鼠标、键盘等事件。
    服务器端:用来收集多个机器的状态,并将状态变化通过到已登录的客户端。
    客户端与服务器端拟用RMI进行通讯。
请问:
    采取什么样的机制来使客户端及时地响应服务器传来的状态变化信息?
    信息应该怎么传?

解决方案 »

  1.   

    一般可以做个定时器,定时检查机器的状态,时间间隔可按需设置。
    推荐使用:quartz
    至于定时器与其他客户端的通讯,可以采用基础的socket udp通讯。
      

  2.   

    我来说说,其实要比较简洁的实现服务器主动通知客户端的机制目前看貌似没有现成的框架.因此手动开发似乎是必须的.我所能想到的是需要客户端绑定端口等待服务器来通知.如果网络环境较安全,可用UDP来实现,主要的考虑是开销和时效.客户机在登录服务器后第一件事情是注册自身,告诉服务器自己的IP-端口号,之后等待服务器的通知事件.当然客户端下线的时候应该注销一下,避免服务器不必要的负担.同样关注这个主题,如果有现成的框架可借用,务请通知小弟.受教了!
      

  3.   


    谢谢关注。
    我们的想法类似了。
    我设想的是服务器通过RMI方式远程调用图形客户端的接口,向客户端发出消息。在图形客户端,能有机制马上触发响应此消息的事件监听程序,以及时在图形上显示相应的变化。
    现在的问题是:1. 如何触发图形客户端的事件监听程序。轮询不是好的办法。
                  2. 多线程处理图形上控件是否存在多线程安全?