如何理解我在PIC18上收到的TCP选项字段?

问题描述

enter image description here

我的目标是在PIC18F67j60微控制器(具有以太网模块)和主机之间交换数据包。 我使用MPLABX IDE(C语言,pickit3)对PIC18F进行了编程,在计算机方面,我使用CODE :: BLOCKS(C语言)对了一个简单的应用程序进行了编程。我的计算机上运行的应用程序正常运行(我对其进行了测试)。目的是在PIC18与计算机之间建立TCP通信(我知道TCP对嵌入式设备(如微控制器)不利,因为它占用了存储空间)。 我已经设法建立了UDP通信,并且可以从双方发送和接收任何数据。 问题发生在TCP通信中。问题如下:我的计算机将TCP PDU发送到我的微控制器(开始连接过程,因此设置了SYN标志),我的微控制器收到了它。然后,我决定在屏幕上(使用UART)显示微控制器接收到的数据。 我终于注意到我在TCP“常规”标头中添加一个TCP选项字段(在此TCP常规标头中,OFFSET字节为“ 0x 8 0”,这意味着整个TCP标头为 8 * 4字节= 32字节长或256位(如果需要),也= 32 + 20 + 12,这意味着除了TCP 20常规字节外,我还有12个字节)。 TCP标头的最后一个字节是“紧急指针”,紧随其后的是TCP选项,即:TCP选项字段=“ 02 04 05 B4 01 03 03 08 01 01 04 02” 此选项字段是什么意思?我知道“ 02 04 05 B4”是用于MSS字段的,但是我一无所知,我不明白其他字节代表什么...请帮忙吗? 感谢您提供的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...