至今已经在第二次写网络编程的博客了, 去年将网络分析和系统编程一起进行整理的, 而且没有对每一个知识点进行归纳和总结. 前段时间还是又回顾了TCP编程的一点基础, 为了以后回顾还有学习网络编程的看到写的博客后能够成系列的来学习, 还是决定还是重新整理一下更好.
现在模块分为四个部分 : TCP通信, TCP协议(计算机网络的部分知识), UDP通信, HTTP 通信.
整个板块的目的就在于如何实现一个基本没有 Bug 的通信端, 然后以此为基础继续探讨应该怎样提升通信端的效率, 最后指出后期学习可以做什么, 怎样提升. 本板块在知识方面并没有做的很好, 希望学习的人能够结合 UNIX网络编程 为本来学习, 毕竟所写文章一点也不及书中所写. 文章的例子希望阅读的人还是有机会能够自己实现一次, 看过和做过的心得和体验完全不一样的.
最后, 文章的代码写的也不并不是很好, 毕竟只是满足实验目的 ( 还有自己最开始自己写的太差了后面也不想改了 ).
如果有什么问题欢迎在文章下面指出, 或者发邮箱给我. 感谢!
邮箱 : zx071818@gamil.com
TCP 通信
-
TCP套接字基础
01 大端小端
02 inet族 函数
03 socket 函数
04 bind 函数
05 connect 函数
06 listen 函数
07 accept 函数
-
实现正确的TCP通信
TCP协议
-
TCP协议
01 TCP/IP协议族
02 三次握手
04 三次握手抓包
05 四次挥手
06 IP数据报分片
07 RST
08 TCP中的MSS和MTU
09 紧急模式
-
套接字选项
02 Nagle和Cork算法
04 TCP缓冲区
-
TCP异常
01 TCP可能会出现的异常
02 三次握手异常
03 服务器中断
UDP通信
HTTP 通信
-
IO
01 标准IO
02 TCP套接字之标准IO
03 使用管道实现日志记录
-
非阻塞
01 socket就绪条件
02 非阻塞IO
03 accept非阻塞
04 connect非阻塞
05 最大TCP连接实验
06 connect 实现定时
07 DNS 域名解析
08 web 客户端程序
-
池
01 半同步/半异步
02 HTTP 请求与应答
03 进程池
04 线程池
整个模块前前后后也写了几个月了, 每次感觉自己写完之后都很有些收获, 也扫除了自己的部分盲区. 写该模块时也坚有持不下来, 所以个别文章之间的联系可能会有问题, 也请不要太在意.
希望后续大家也能找到一个方向去学习, 比如去看看 libevent源码
, nginx源码
之类的, 也或者做一个web服务端小项目之类的, 网上也有很多很好的建议的. 最后, 祝大家学习顺利!