![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
socket编程
文章平均质量分 77
滴答滴滴答滴
活到老,学到老
展开
-
I/O复用之select
select函数注意事项#include<sys/select.h>#include<sys/time.h>int select (int maxfd,fd_set *readset,fd_set *writeset,fd_set *exceptset,const struct timeval * timeout)关于I/O复用之select函数,函数原型和头文件...原创 2019-03-25 23:05:53 · 181 阅读 · 0 评论 -
对管道进行read时注意事项
read#include<unistd.h>ssize_t read(int fd,void *buff,size_t bytes)在unix下,read函数从打开文件中读取数据。今天在使用管道在父子进程之间进行信息交互时,对管道的read操作总不符合预期。我们都知道在对文件(如txt)进行读取时,文件末尾会自动补一个文件尾标志,即EOF,所以read返回值:返回读取的字节...原创 2019-03-23 16:13:53 · 3031 阅读 · 0 评论 -
Http协议简述
本文参考:TCP/IP详解卷三,https://www.linuxprobe.com/http-learning.html, 其中第五点URL格式完整拷贝自此链接:https://www.linuxprobe.com/http-learning.html一、应用层协议:众所周知,Http协议是应用层协议,是万维网(World Wide Web,www,也简称web)的基础。何谓应用层协议?...原创 2019-04-07 16:19:54 · 619 阅读 · 0 评论 -
linux下的epoll较之传统的select函数比较其优点
epoll基本原理及使用框架epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它不会复用文件描述符集合来传递结果而迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的...转载 2019-04-08 22:15:29 · 336 阅读 · 0 评论 -
彻底学会使用epoll(一)——ET模式实现分析
本文转自:彻底学会使用epoll1. ET模式实现分析1.1 ET和LT的实现区别首先给出下面一张图,这张图是从我之前的一篇博文——epoll实现分析中摘取并细化的。这张图对理解ET模式已经epoll的工作过程只管重要,当然我自己总结出来后也感觉有的小成就,在这里与大家分享。注:上图的poll不要理解成和select相似那个poll,这是通过epoll_ctl调用的。下面简要分析一下e...转载 2019-04-09 16:19:42 · 918 阅读 · 0 评论 -
linux简易Http服务器的实现
HTTP服务器:笔者业余时间实现了两个版本的http服务器。代码见:https://github.com/didadi-zhongxiao/功能模块:1、对http请求的解析2、对于解析好的请求进行处理3、对套接字的监听4、将处理好并编码完成的响应发送给客户端版本一:基于one connection one thread 模式,但由于linux下一个进程就4g空间,可用的(即用户...原创 2019-04-14 21:33:10 · 652 阅读 · 0 评论