主要参考这个文章:
http://blog.csdn.net/eric0318/article/details/51087513
盗一个图:
最近接到个任务:接收机实现自制板卡固件升级的功能。
据板卡部所说,网口升级的话,需要连接两次:板卡做服务器端,接收到changemode会关闭掉现在连接程序,,去启另一个update程序,这时应当去重新连接。
由于属于服务器端close掉TCP连接,那么本升级程序再去read该连接时,读取为0。
并且处于CLOSE_WAITE状态,须调用close函数,发送FIN分节,
确保本程序的该TCP 过程结束。
//因为板卡服务器端close掉连接后,处于FIN_WAITE状态
//初步猜测,在服务器发送来FIN分节后,client的系统自动发送了ACK
//则服务器虽然关闭了,但系统维护的该套接字应当处于FIN_WAITE2的