TCP结合一朝建立,效劳器端和客户端就成为了对等关系,任何一方都可以发出封合握手请求,甚至可以同时发出封合握手请求。TCP的结合建立需要3次握手,而正常封合则需要4次握手。

       1、主动封合的一方A调用close(),SendQ不再接收send()写入信歇,正正在SendQ队列的着末,向被动封合的一方发送TCP的IP数据报作为封合握手的请求。这个数据报中包含着标志FIN,也包含着此刻的字节序号m。

        2、B接收到第一次封合握手请求后迅速返回一个数据报作为回应。由于B接收到了FIN作为封合结合的一个字节的数据,以是返回的字节序号是m+1。当A接收到B的这个回应,也即是第二次握手以后,表明了认正正在A到B的偏向上不再有数据传送,A即转入所谓半封合状态,等待B的封合请求。而B收到FIN会导致recv()返回零,让运用层知途A到B的结合曾经断开。

        3、B方告诉了运用层后也就进入等待封合的状态。当B开始进入封合流程,也会由B向A发送一个FIN,同时包含着B到A通讯偏向上此刻的字节序号n。

        4、A接收到B的这个FIN之后,也会将序号n+1反馈给B,自此,表明B到A的偏向上不再有数据传送,TCP结合正式成功封合。

        以上只是对TCP结合封合的简单描绘,实情上,除了运用close()封合,还可以运用shutdown(),这样正正在“半封合”状态下还可以对TCP做其他的诈欺,举座实质就请大家自己查阅相干资料了。

        着末,送上自己对于TCP结合的理解——“双向的单行途”——分别建立结合,也分别断开结合。

TCP/UDP网络编程初学教程之十六:TCP途理——TCP结合的封合

除非特别注明,鸡啄米文章均为原创
转载请标明本文地址:http://www.sygjbus.cn/software/451.html
2015年10月30日
作家:鸡啄米 分类:软件开发 浏览: 评论:0