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

socket的shutdown与close

时间:2015-04-16 17:24:40      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

shutdown原型

int shutdown(int socket, int how);
socket 指定socket的文件描述符
how    指定shutdown的类型
SHUT_RD

     禁止读操作

SHUT_WR
    禁止写操作
SHUT_RDWR
    禁止读和写

    

close原型

int close(int fd);
    close是内核函数,关闭进程占有的文件句柄,内核中的每一个文件句柄都有一个引用计数,每个打开该文件句柄的进程都将计数+1,每次调用close会将进程占有的文件描述符关闭,同时内核中的引用计数-1.

 

区别

     shutdown直接作用于socket连接,调用shutdown以后,所有关联该socket连接的文件描述符均被影响(不能读或者写,或者均不能),即影响是跨进程的,shutdown不会关闭socket,socket会在关联的文件描述符内核计数为0时被动关闭。

     close作用于进程打开的文件描述符,close以后进程将不能够访问该socket,该socket连接会在引用计数变为0时被动关闭,假如多个进程访问同一个socket的文件描述符,其中一个进程调用close(sockfd)其他进程可以继续进行socket通信。

socket的shutdown与close

标签:

原文地址:http://www.cnblogs.com/learn-my-life/p/4432389.html

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