终止网络连接的方法有2种:close和shutdown。
close有2个限制,可以用shutdown来避免。
一、引用计数
close把描述子的引用计数减1,仅在该计数变为0的时候才关闭套接字。
而是用shutdown不管引用计数的值是多少,都激发TCP的正常连接终止序列,也就是发送FIN。
二、关闭读或写
close终止数据传送的两个方向:读和写。
有的时候只想关闭读或写,那么此时就是用shutdown函数进行关闭套接口描述字某一方向的操作。
close和shutdown都是发送FIN终止连接。
参考资料: