java 远程通信技术学习

理论部分

要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络IO来实现,其中传输协议比较出名的有socket、http、tcp、udp等等,其中socket作为最底层的传输协议,而http、tcp、udp都是在此基础上为某类应用而扩展出的协议,网络IO,主要有bio、nio、aio三种方式,所有的分布式应用通讯都基于这个原理而实现,只是为了应用的易用,各种语言通常都会提供一些更为贴近应用易用的应用层协议。

几个问题

  1. 传输的标准格式是什么?
  2. 怎么样将请求转化为传输的流?
  3. 怎么接收和处理流?
  4. 怎么接收和处理流?

在java领域中知名的有:RMI、XML-RPC、Binary-RPC、SOAP、CORBA、JMS

具体协议

RMI

RMI是个典型的为java定制的远程通信协议,我们都知道,在单独的jvm中,我们可以通过直接调用对象实例的方式来实现通信。那么在远程通信时,如果也能按照这种方式当然是最好了,这种远程通信的机制成为RPC(Remote Procedure Call)
图

  1. 传输的标准格式是什么?
    Java ObjectStream
  2. 怎么样将请求转化为传输的流?

参考:https://wenku.baidu.com/view/c5851a4502768e9951e738bb.html###