服务端与客户端之间实现通信,说简(专)单(业)点儿就是网络通讯,网络通讯要做的事情就是把数据(流)从一台计算机传输到另外一台计算机,这些是基于传输协议和网络IO来实现的。
传输协议单独说传输协议,可能一般人要发懵,什么是传输协议?我要是说socket、tcp、udp、http这些呢,是不是都见过了。
socket是最底层的传输协议,tcp、udp、扩展出来的协议。
网络IOBIO:同步阻塞式IO,一个连接一个线程
NIO:同步非阻塞IO,一个请求一个线程
AIO,异步非阻塞IO,一个有效请求一个线程
应用级协议文章开头也说过了什么是网络通讯;为了使用的简单一些,行业内基于网络通讯原理,推出了很多应用级的协议,目的是为了方便使用,避免了直接对数据(流)的操作,而是用更直观的传输格式,比如xml、json、二级制。其实传输的还是流,只不过应用级的协议帮你完成了传输格式和流之间的相互转换。
RMI:远程方法调用;
XML-RPC:和RMI类似,只不过它以标准的xml为传输格式;Burlap是基于此协议实现的;
Binary-RPC:看名字就知道了,以二进制为传输格式;Hessian是基于此协议实现的;
SOAP:是XML-RPC的高级版;这个最常见,XDire、Axis;
JMS:常用的实现远程异步调用方法之一;这个现在用的也比较多,ActiveMQ之类。
希望我的回答能够帮助到你!