网络编程
文章平均质量分 76
对面『胶己人』
This is my note, not my blog
展开
-
select用法&原理详解(源码剖析)
最近刚接触Linux下的select用法,查阅了很多资料终于懂得了一丁点,故将自己查阅后有用的资料整理在这下面。博客链接都是很有价值,写的很好的文章。在研读源码时主要看的是这篇文章:深入select多路复用内核源码加驱动实现 自己能力精力有限,没有办法自己写一篇完完整整的文章,故只能当个搬运工了,文章先后顺序尽量按照了知识点的先后~~如果有什么问题欢迎一起探讨学习~前期知识在开始接触s...原创 2018-04-02 20:11:53 · 70747 阅读 · 10 评论 -
poll/epoll用法简述
struct pollfd { int fd; //文件描述符 short events; //要求查询的事件掩码 short revents; //返回的事件掩码 }; int poll(struct pollfd *ufds, unsigned int nfds, int timeout); struct pollfd * fds:是一个stru...原创 2018-04-03 06:31:58 · 677 阅读 · 0 评论 -
《TCP IP网络编程》尹圣雨——读书小记
之前学了一些网络编程的东西,但还没有系统看过相关书籍,故先选了这本书来读,并记下一些阅读过程中觉得值得记录的东西,作为回顾之用。这里的记录只有Linux下的相关知识,没有Windows的相关操作。第一章 理解网络编程和套接字接电话套接字:套接字编程就像电话机。首先要安装电话机(socket函数),接着要给电话机分配号码(bind函数),还要给电话机接上电话线(listen),如果电话响...原创 2018-04-24 21:23:33 · 2116 阅读 · 0 评论 -
我对shutdown和close跟四次挥手关系的理解
在调用close时实际是关闭了减少了文件描述符,当文件描述符引用为0时,则会删除文件,关闭套接字。shutdown是直接对socket的操作,相当于设置了socket的属性,可以设置为只读,只写,或者直接关闭,但不会操作与此socket相关的文件。shutdown() doesn’t actually close the file descriptor—it just changes its...原创 2018-04-25 11:29:30 · 1415 阅读 · 1 评论 -
TCP粘包问题
原因:TCP提供的是一种字节流服务,没有消息保护边界。发送端需要等缓冲区满才发送出去,造成粘包接收方不及时接收缓冲区的包,造成多个包接收解决方法一是对于发送方引起的粘包现象,用户可通过编程设置来避免,TCP提供了强制数据立即传送的操作指令push,TCP软件收到该操作指令后,就立即将本段数据发送出去,而不必等待发送缓冲区满;二是对于接收方引起的粘包,则可通过优化程序设计...原创 2018-04-27 13:33:16 · 186 阅读 · 0 评论 -
C 线程池创建
最近学了些网络编程的知识,想要用epoll和多线程尝试搭建一个简单的后台服务程序。epoll负责监听所有连接发生的事件,然后再用一个新的线程来处理这个事件(读取socket并处理)。这样子可以使得事件能够及时处理,epoll也不会阻塞在socketIO上。使用线程池原因因为要处理的事件花费的CPU时间很少,而且因为连接多,处理的事件很多,所以频繁创建线程不是一种明智的做法,这样子会把大...原创 2018-04-28 17:21:32 · 426 阅读 · 0 评论 -
《Lighttpd源码分析》读书笔记
C10k问题:网络服务程序在处理的客户端连接数达到上万时,往往会出现效率低下甚至完全瘫痪的问题。C10K 问题的最大特点是设计不够良好的程序,其性能和连接数及机器性能的关系往往是非线性的(性能增加一倍,连接数没办法增加一倍)。源码下载:Lighttpd1.4.20,下载完成后src目录下的137个文件即为源文件。源码分析工具:source insight 或 source navigator(...原创 2018-11-09 15:30:26 · 1522 阅读 · 0 评论 -
《Linux高性能服务器编程》 读书笔记
第一章 TCP/IP协议族数据链路层可以看成是一个网卡驱动,为上层提供了一个统一的接口。Telnet协议是一种远程登录协议,它使得我们能在本地完成远程任务。第二章 IP协议详解第三章 TCP协议详解...原创 2018-11-02 16:03:53 · 5837 阅读 · 0 评论 -
《Nginx高性能web服务器详解》读书笔记
Nginx初探Nginx是一款免费开源的高性能HTTP服务器及反向代理服务器,也可以作为邮件服务器。他的官网是nginx官网以及wiki官网nginx源码下载地址:Nginx版本库Nginx服务器的安装部署...原创 2018-11-05 15:57:07 · 1261 阅读 · 0 评论