码迷,mamicode.com
首页 > 其他好文 > 详细

close与shutdown关闭socket连接的区别

时间:2015-05-05 18:53:15      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

close: int close(int fd)

并非马上关闭fd对应的socket连接,而是对其文件描述符的引用计数减1,

只有当fd的引用计数为0时,才关闭连接,对应fork复制的socket描述符,

无论时父进程还是子进程都需要调用close才能正确关闭连接。

 

shutdown: int shutdown(int fd, int howto)

专为针对网络编程设计,一旦调用便终止socket连接,

    howto参数:

   1、SHUT_RDWR (read & write) 同时关闭socket上的读写。

   2、SHUT_WR (write) 关闭socket上的写操作,socket的发送缓存区会在关闭连接之前全部发送出去,

        不可对socket进行写操作。

   3、SHUT_RD (read) 关闭socket上的读操作,且socket的接受缓存区将丢弃全部数据。

close与shutdown关闭socket连接的区别

标签:

原文地址:http://www.cnblogs.com/ydlme/p/4479360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!