rmi webservice socket 协议区别

应用层的通讯协议: http https pops smtp ftp
* 传输层协议: tcp udp
* 网络层协议: ip
 Socket是使用在传输层的一种技术。 
   java jdk中分别实现了基于tcp的socket -- java.net.Socket  java.net.ServerSocket
                                基于udp的socket -- java.net.DatagramSocket
  客户与服务器建立连接使用socket,用TCP/IP协议   
  客户聊天使用datagramSocket。用UDP协议   
  由于socket是基于连接的,可以清楚的知道用户的连接状态。   
  而datagramSocket不是基于连接的,占用资源较少,用来接受用户聊天信息更为合适。 
* socket -- 对应于 tcp udp
   http是基于tcp的高层协议   
   RMI是基于tcp的更高层协议   
   WebService大部分是基于http的更高层协议   
    
  RMI和WebService是用来做远程调用的,不是简单的传输数据.也就是说Rmi和WebService可以实现的功能,你自己用tcp也可以实现,但这样做没有任何标准,也不可靠.   
    

  RMI和WebService最大的区别就是前者做不到语言无关.WebService实际上是基于soap协议,把对象变成xml数据,到对方再根据配置反向还原成对象或者结构.假如你的程序是java和c++之间做远程调用,那么只能用WebService,这也是为什么现在WebService被说的这么火  

你可能感兴趣的:(java,协议)