解决方案 »

  1.   

    基于HTTP的WebService
    JAVA本身的RMI
    基于TCP通信的MINA2
      

  2.   

    就是2楼说的,WebService或者RMI
      

  3.   

    客户端如果一开始就和服务器建立一个TCP连接,客户端每次远程调用都依赖这个连接,只要其中一次调用出现意外,那么整个程序都会阻塞或者错误累积崩溃,这种方法应该不适合整天连续工作的电脑客户端使用。1. 使用Http的方式调用是可行的,每次调用都发起一个连接,即使出现什么意外,断开连接后,就会自动恢复。
    2. RMI不知道是使用的什么原理实现的。
    3. QQ使用的UDP通讯协议,自己在上层实现一些可靠性就行,我看这种方法也挺好,不知道实际使用中,应用多不多。
    4. TCP的实际应用,比如FTP, SMTP,POP3等都是传输完立刻拆掉连接,下次用下次再建立连接,似乎只使用时间很短的场合。
      

  4.   

    JAVA补充个JMS吧,可以异步的,不过这玩意也挺操蛋的,能不用别用
      

  5.   

    如果是 JavaEE 的项目,推荐使用 WebService 技术。基于HTTP和SOAP协议的消息传递和远程方法调用。
    如果是 JavaEE 的项目,处理的数据量比较大,可以采用异步消息处理机制。JMS、消息中间件是个不错的选择。
    如果是 C/S 架构的项目,推荐 RMI 吧,实现起来不是很复杂。如果不行,Spring里面也有一个RMI功能的组件,那个用起来比这个方便点,前提是你得会用Spring。
    如果是 Java 和 C 程序之间的调用,简单功能的用 TCP 可能会好些。
    如果是 Java 和 .net 程序之间的调用,推荐使用 WebService 技术,当然,要注意协议的兼容问题。