Java网络编程基础

基本原理

       将数据从一台计算机传输到另一台计算机,通过7层网络模型实现,编程主要关注上三层的内容——应用层协议、传输层协议和网络IO。应用层协议比较多,如下图所示;传输协议主要是TCP、UDP等都是基于socket进行扩展的;网络IO主要有BIO/NIO/AIO三种。所有通信基本都是如此,只是具体实现可能不同。

常用应用层协议

Java网络编程基础


应用层协议主要关注问题:

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

网络IO对比:
Java网络编程基础


基础知识:

  1. 通信协议(Socket/tcp/http/udp/rmi/xml-rpc etc.)
  2. 消息机制、
  3. 网络IOBIO/NIO/AIO)、
  1. MultiThread
  1. 本地调用与远程调用的透明化方案(涉及Java ClassloaderDynamic ProxyUnit Test etc.)、
  2. 异步与同步调用、
  3. 网络通信处理机制(自动重连、广播、异常、池处理等等)、
  1. Java Serialization (各种协议的私有序列化机制等)
  1. 各种框架的实现原理(传输格式、如何将传输格式转化为流的、如何将请求信息转化为传输格式的、如何接收流的、如何将流还原为传输格式的等等)

参考文章:http://www.codeceo.com/article/java-remoted-communication.html