摘要: 管道基本概念: 管道是Unix中最古老的进程间通信形式 我们把从一个进程连接到另一个进程的一个数据流称为一个“管道” 管道的本质:固定大小的内核缓冲区 管道限制: 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道 只能用于具有共同祖先的进程(具有亲缘关系的进程)之间进行通信 阅读全文
posted @ 2018-08-05 19:36 周伯通789 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 模型如下: 服务器: 客户端: 这个模型下所有进程统一通过队列通信,队列的大小有限制,而且这些进程既从这个队列读又往这个队列写,操作时无序的,很容易造成队列满或者队列空,所以当进程数很多时容易发生阻塞。 可以改进为如下的模型: 每来一个客户端,就fork一个进程,让这个进程和客户端通信。 监控模型: 阅读全文
posted @ 2018-08-05 19:15 周伯通789 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 进程间通信的分类: 文件 文件锁 管道和匿名管道pipe 信号 消息队列 共享内存 信号量 互斥量 条件变量 读写锁 套接字 两个进程同时向管道中写数据,内核要保证它们是原子的,内核按照页做限制。 进程间共享信息的三种方式:一个通过文件系统,一个通过内核,一个在应用空间 IPC对象的持续性: 随进程 阅读全文
posted @ 2018-08-05 11:52 周伯通789 阅读(207) 评论(0) 推荐(0) 编辑
摘要: ISO的开放互联模型(OSI) TCP IP四层模型 TCP IP各层报文 以太网的MTU和路径MTU IP数据报 ICMP协议 TCP 报文段 综合案例: 其他补充,主要协议及其关系 阅读全文
posted @ 2018-08-05 10:40 周伯通789 阅读(259) 评论(0) 推荐(0) 编辑
摘要: TCP 协议是面向连接的基于流的,可靠的传输服务。UDP是无连接的,基于数据报的,不可靠的传输服务,UDP没有粘包,但是会产生丢包。 UDP模型如下: 可以看到,服务器端不用listen,也不用accept。而客户端,也不用connect。 总结UDP的特点如下: 1、无连接 2、基于消息的数据传输 阅读全文
posted @ 2018-08-05 08:05 周伯通789 阅读(317) 评论(0) 推荐(0) 编辑