我正在使用C/Obj-C实现TCP。
我注意到不同的服务器在某些情况下会增加序列号,而其他服务器则不会。具体来说,在拆除过程中,当服务器发送FIN/ACK时,一些服务器会将ACK号增加1,而另一些则不会。
为了澄清问题:
服务器1:ACK号已增加至2。
服务器2:ACK号仍为1。
ACK号未增加 http://img853.imageshack.us/img853/1248/zf70.png
关于第二个服务器,我的程序输出:
我注意到不同的服务器在某些情况下会增加序列号,而其他服务器则不会。具体来说,在拆除过程中,当服务器发送FIN/ACK时,一些服务器会将ACK号增加1,而另一些则不会。
为了澄清问题:
服务器1:ACK号已增加至2。
![Working TCP-Teardown](https://istack.dev59.com/KYCmO.webp)
关于第二个服务器,我的程序输出:
FIN(/ACK)# was 18238 but should have been 18239
我应该如何处理代码中出现的服务器端实现变体?