最近看一些资料感觉许多感觉比较混淆。尤其以通信的协议,有时候被弄得云里雾里。
看了一些资料,简单地做下解释。
在ip网络中,传输层主要协议是:tcp及udp。在web中,应用层也用http传输。
在网络io中,目前主要有:bio(阻塞)、nio(非阻塞)、aio(异步jdk7中新特性)。具体不作解析可以看相关文档。
在传输中应用层的协议及规范主要有:
- RMI(java原生的),用java自身的序列化技术。
- xml-rpc 用xml+http
- Binary-RPC 用二进制+http
- soap,可以说是xml-rpc的一种封装
- COBRA,加入了jdk中
- jms,这个是一种规范,基于队列模型的
主要的实现框架,可以组合使用。
- activeMQ:是jms的一种实现
- mina:基本是包装了nio.