close与shutdown的区别
来源:互联网 发布:get. it 编辑:程序博客网 时间:2024/05/17 08:14
终止网络连接的通常方法是调用close函数。不过close有两个限制,却可以使用shutdown来避免。
1 close把描述字的引用计数减1,仅在该计数变为0的时候才关闭套接口。而使用shutdown可以不管引用计数的值是多少就激发TCP的正常连接终止序列,也即是发送FIN节。
2 close终止数据传送的两个方向:读和写。而有的时候只是想关闭读或写,那么此时就使用shutdown函数进行关闭套接口描述字某一方向的操作。
例如:在有父子进程的服务器程序中,套接口描述字是在父子进程之间共享的,因此它的引用计数为2。要是父进程调用close,那么这只是把该引用计数由2减为1,而且既然它仍然大于,FIN就不发送。这就是为什么在shutdown函数的原因,不管套接口的计数值为多少,FIN都必须被近发送出去。 当shutdown函数中的第2个参数为SHUT_WR 的时候,称为半关闭,此操作后,当前留在套接口发送缓冲中的数据将被发送掉,后跟TCP的正常连接终止序列。
- close与shutdown的区别
- shutdown 与 close 的区别
- 关于close与shutdown的区别
- 关于close与shutdown的区别
- socket :shutdown 与 close 函数 的区别
- linux中close与shutdown的区别
- shutdown 与 close 函数 的区别
- shutdown 与 close 函数 的区别
- Shutdown、Close的区别
- shutdown和close的区别
- shutdown和close的区别
- shutdown和close的区别
- shutdown和close的区别
- close和shutdown的区别
- close和shutdown的区别
- tcp的close与shutdown的区别引发的血案
- 套接字编程中close与shutdown的区别
- linux编程中close与shutdown的区别
- 使用eclipse开发linux驱动
- U-boot启动流程(Linux内核)的分析(四转)
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一)
- (2)21.2.1定义任务Runnable接口
- How to detect when the mouse move away from a TPanel in Delphi ?
- close与shutdown的区别
- 关于阶乘的问题
- 黑马程序员-Java基础综合练习:简易聊天客户端
- 微软员工证实 Windows 9 正在开发中
- 为什么我们会在互联网上爆粗不讲礼貌
- 是什么干掉了 Linux 桌面?
- 对嵌入式Linux中的根文件系统的理解和解析
- 李彦宏谈梦想
- postfix+dovecot