socket相关疑问汇总!

来源:互联网 发布:比尔克软件 编辑:程序博客网 时间:2024/05/19 03:46

1.如何判断对端终止连接?

对于write(),需要处理或忽略SIGPIPE signal,才能返回EPIPE。

对于read(),返回0或小于0。


2.time_wait状态:先调用close()的一方会进入TIME_WAIT状态。ACE的ACE_SSL_SOCK_Stream没有TIME_WAIT状态?

http://yyri.i.sohu.com/blog/view/116789632.htm

http://blog.chinaunix.net/uid-16404827-id-2746281.html


netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等 待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED: 正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分 组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉


原创粉丝点击