看啥推荐读物
专栏名称: Linux爱好者
伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程书籍等。
今天看啥  ›  专栏  ›  Linux爱好者

从 Linux 源码看 socket 的 close

Linux爱好者  · 公众号  · linux  · 2018-08-16 21:36
(点击上方公众号,可快速关注)作者:无毁的湖光-Al my.oschina.net/alchemystar/blog/1821680笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。上篇博客讲了socket的阻塞和非阻塞,这篇就开始谈一谈socket的close(以tcp为例且基于linux-2.6.24内核版本)TCP关闭状态转移图众所周知,TCP的close过程是四次挥手,状态机的变迁也逃不出TCP状态转移图,如下图所示:tcp的关闭主要分主动关闭、被动关闭以及同时关闭(特殊情况,不做描述)主动关闭close(fd)的过程以C语言为例,在我们关闭socket的时候,会使用close(fd)函数:int    socket_fd;socket_fd = socket(AF_INET, SOCK_STREAM, 0);...// 此处通过文件描述符关闭对应的socketclose(socket_fd)而close(int fd)又是通过系统调用sys_close来 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照