tcp - 如何理解我在 PIC18 上收到的 TCP 选项字段?
问题描述
我的目标是在我的 PIC18F67j60 微控制器(它有一个以太网模块)和我的主机之间交换数据包。我使用 MPLABX IDE(C 语言,pickit3)对 PIC18F 进行了编程,在计算机端,我使用 CODE::BLOCKS(C 语言)编写了一个简单的应用程序。在我的计算机上运行的应用程序可以正常工作(我对其进行了测试)。目标是在 PIC18 和计算机之间建立 TCP 通信(我知道 TCP 对微控制器等嵌入式设备不太好,因为它占用内存空间)。我已经设法建立了 UDP 通信,我可以从双方发送和接收任何数据。该问题发生在 TCP 通信中。问题如下:我的计算机向我的微控制器发送一个 TCP PDU(以启动连接过程,因此设置 SYN 标志)并且我的微控制器接收它。然后我决定在屏幕上显示(使用 UART)微控制器接收到的数据。我终于注意到我在 TCP“常规”标头中添加了一个 TCP 选项字段(在此 TCP 常规标头中,OFFSET 字节为“0x8 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字段的,但后来我一无所知,我不明白其他字节代表什么......有什么帮助吗?谢谢你提供的帮助。
解决方案
推荐阅读
- gcc - GCC不必要地访问线程本地存储?
- javascript - 在 QML 中从数组中的 bool 更改颜色
- android - 生成后 gradle-witness 校验和失败
- html - 将每张牌向左浮动 - 牌的水平线
- python - 在 fb status [Python] [Facebook API] 上发布多于一行的文本
- html - 和
- google-sheets - 今天时间范围和日期的 Countif 代码是什么?谢谢
- python - 从 Qtablewidget 读取文本值并自动分配给 Qcombobox
- amazon-web-services - 如何在 AWS Lambda 函数中验证 API 密钥
- jquery - 带有来自 SQL asp 网络服务器端的数据的 jQuery DataTable 子行