摘要: 一、select 1.起源 select最早于1983年出现在4.2BSD中(BSD是早期的UNIX版本的分支)。 它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操 阅读全文
posted @ 2017-08-02 20:50 Zoe233 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。 所以先限定一下本文的上下文:本文讨论的背景是Linux环境下的network IO。 一、概念介绍 下面主要介绍5个概念:用户空间和内核空间,进程切换,进程的阻塞,文件描述符,缓存I/O 阅读全文
posted @ 2017-08-02 19:26 Zoe233 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 一、Socket语法及相关 前言:osi七层模型: 第七层:应用层。 各种应用程序协议,如HTTP,FTP,SMTP,POP3. 第六层:表示层。 信息的语法语义以及它们的关联,如加密解密,转换翻译,压缩解压缩。 第五层:会话层。 不同的机器上的用户之间建立和管理会话。 第四层:传输层。 接受上一层 阅读全文
posted @ 2017-08-02 09:48 Zoe233 阅读(550) 评论(0) 推荐(0) 编辑