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:等待所有分组死掉