文件名称:记录时间戳-ax88772c,usb2.0转网口,市场上最具性价比的方案
文件大小:55.88MB
文件格式:PDF
更新时间:2024-07-30 05:03:17
TCP IP详解 全三卷
28.10 记录时间戳 图2 8 - 3 5给出了t c p _ i n p u t下一部分的代码,处理收到的时间戳选项。 图28-35 t c p _ i n p u t 函数:记录时间戳 7 3 7 - 7 4 6 如果收到的报文段中带有时间戳,时间戳值保存在 t s _ r e c e n t中。我们在2 6 . 6节 曾讨论过N e t / 3的处理代码有错误。如果F I N和S Y N标志均未置位,表达式 ((tiflags & (TH_SYN|TH_FIN)) != 0) 等于0;如果有一个置位,则等于 1。 2 8 . 11 RST处理 图2 8 - 3 6给出了处理R S T标志的s w i t c h语句,取决于当前的连接状态。 1. SYN_RCVD状态 7 5 9 - 7 6 1 插口差错代码设定为E C O N N R E F U S E D,控制向前跳转若干行,关闭插口。在两种 状况下,连接进入此状态。一般地讲,连接收到 S Y N后,从L I S T E N转移到S Y N _ R C V D状态。 T C P发送带有A C K的S Y N做为响应,但接着却收到了对端的 R S T。此时,s o引用的插口是在 图2 8 - 7中调用s o n e w c o n n新创建的。因为d r o p s o c k e t为真,在标注d r o p处,插口被丢弃, 监听插口不受影响。这也是图 2 4 - 1 5中状态从S Y N _ R C V D转回L I S T E N的原因。 另一种情况是,应用进程调用 c o n n e c t后,出现同时打开,状态也转移到 S Y N _ R C V D。 收到R S T后,向应用进程返回插口差错。 图28-36 t c p _ i n p u t 函数:处理R S T标志 770计计TCP/IP详解 卷2:实现 下载