半连接
未完成3次握手,但是已经发送了SYN,Peer也发了SYN+ACK,但是不再发送ACK
半开连接
一方已经关闭连接,另一方尚不知道
比如:
客户端崩溃、死机,服务器怎么能知道呢
使用SO_KEEPALIVE,超时最长是2小时
故此应用层来实现KEEP_ALIVE,来确定对方的存活与否
客户端此时的双向连接已经全部断了
半闭连接
一方调用shutdown(RCV_SHUTDONW)
shutdown(SEND_SHUTDOWN)
可见shutdown设计就是用来制造半连接的,来控制是只能收还是只能发
关闭了发送了通道,但是可以收包,因为是双工的
双工中的一条通道,一方收,一方发
shutdown的行为
还没有发送FIN的话,就发FIN
如果已经发过了,就不能再发
未完成3次握手,但是已经发送了SYN,Peer也发了SYN+ACK,但是不再发送ACK
半开连接
一方已经关闭连接,另一方尚不知道
比如:
客户端崩溃、死机,服务器怎么能知道呢
使用SO_KEEPALIVE,超时最长是2小时
故此应用层来实现KEEP_ALIVE,来确定对方的存活与否
客户端此时的双向连接已经全部断了
半闭连接
一方调用shutdown(RCV_SHUTDONW)
shutdown(SEND_SHUTDOWN)
可见shutdown设计就是用来制造半连接的,来控制是只能收还是只能发
关闭了发送了通道,但是可以收包,因为是双工的
双工中的一条通道,一方收,一方发
shutdown的行为
还没有发送FIN的话,就发FIN
如果已经发过了,就不能再发