C51编程:请问老古tcp协议里的发送序列号问题
如果本次发送的数据有n个字节长度,请问txdnet.tcpframe.seqnumber是取这n个字节中的
第一个字节的序列号还是取其最后一个字节的序列号? 在你的程序中,发送数据时有
tcp1024.snd_nxt=tcp1024.snd_nxt+tcplength 这一句,按这句的意思应该是取最后一个字
节的序列号。但在do_data_receive这个函数里有if
(rxdnet.tcpframe.seqnumber==tcp1024.rcv_nxt)时才处理新数据。如果发送序列号取n个
字节的最后一个字节的序列号,那么这个条件应该先执行
tcp1024.rcv_nxt=tcp1024.rcv_nxt+length;然后再进行上述条件比较,这样才可能相等。
但在你的程序时是在do_data_receive函数的末尾才执行
tcp1024.rcv_nxt=tcp1024.rcv_nxt+lengthp这一句。这是我的疑问,请解答,3X
发表时间:2002年10月30日16:41:00