服务器开发
kvsp24
这个作者很懒,什么都没留下…
展开
-
高级I/O函数
1 pipe 函数 pipe创建一个管道,用户进程间的的通信。 #include<unistd.h> int pipe(int fd[2]); 输入是 一个容量为2的数组 输出: 成功:0 失败:-1 errno 返回值一个代表写端一个代表读端,fd[1]写段,fd[0]读端。只可以单向通信,假如需要双向,需要创建两个管道。并且这两个文件描述符默认都是阻塞的,但也可以通过fctnl去改成非阻塞。在非阻塞的情况下,read时只有在引用计数为0时,才会返回0;write则是,引发SIGP原创 2020-09-08 22:08:49 · 163 阅读 · 0 评论 -
IO复用的各种测试
1 未经任何优化的服务器 1.1 代码 #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <strings.h> #include <string.h> #include <ctype.h> #include <arpa/inet.h> #define SERV_PORT原创 2020-08-10 21:02:20 · 208 阅读 · 0 评论 -
IO复用的生活小例子
1 select的小模型 想象一下,有一天你们学校提供订蛋糕服务,蛋糕不需要你自己去拿,而是在你们直接想你们寝室同一个管道,蛋糕直接通过管道运输过来,爽不爽?你们到时爽,那可是辛苦了蛋糕店老板。这一天,老板突发奇想,想搞一个这个全国唯一的订蛋糕服务。小明听说了,可是不爽,因为每次老板想出来这个奇怪的想法,吃苦的都是他,那一次不是他给老板擦屁股。但这次,小明也觉得这个提议挺有意思的,于是小明也很乐意就接下来了老板这个活。 他捋了一下思路:同学想要订餐服务,就必须提供一个管道给同学。蛋糕的保存时间特别短,不可原创 2020-08-10 13:20:35 · 277 阅读 · 0 评论