三月份开始看公司RPC框架的源码,发现如果要折腾明白,网络通讯这块知识必不可少.于是从如下几点开始逐步研究.
一、基础知识篇
1.Unix下5种I/O模型
Linux的内核将所有外部设备都看作一个文件来操作,对于一个文件的读写操作会调用内核提供的系统命令,返回一个fd(文件描述符),而对于socket的读写也会有相应的描述符,称为stocket描述符,描述符就是一个数字,它指向内核中一个结构体(文件路径,数据区等一些属性).
1-1) 阻塞I/O模型 ☆☆☆☆☆
如果数据没有准备好,一直等待...
1-2) 非阻塞I/O模型 ☆☆☆
被调用后立即返回一个状态值,无需等到IO操作完成.
1-3) I/O复用模型 ☆☆☆☆☆
1-4) 信号驱动I/O模型☆☆☆
1-5) 异步I/O模型☆☆☆☆
2.TCP/IP协议
待续...
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
参考文章:
Netty权威指南
Unix中I/O模型
TCP/IP协议