Other Parts Discussed in Thread: TM4C129XNCZAD
器件型号: TM4C129XNCZAD
您好:
我正在开发基于 ARM TM4C129XNCZAD 的应用、该应用处理 UDP 套接字的创建并使用 TI NDK 栈通过这些套接字接收数据。
我遇到了一个问题、即接收到的数据大小约为 3k 字节、但数据无法到达应用层、而较小的数据大小(多达 1992 字节)则可以正常工作。 我认为、这种行为需要修改 Rx 缓冲区大小和 NDK 栈配置中的限制。
根据 NDK 用户指南和参考指南、我添加了以下配置、但问题仍然存在:
/*在启动时 IP 堆栈配置期间*/
s32ReceiveBufSize = 3000;
(void) CfgAddEntry (hCfgIpAddr、CFGTAG_IP、CFGITEM_IP_SOCKUDPRIMIT 、CFG_ADDMODE_UNIQUE、(INT32S) sizeof (INT32U)、 (INT8U *)&s32ReceiveBufSize、 STD_NULL);
/*创建 UDP 套接字期间*/
u32ReceiveBuffSize = 3000;
(void) setsockopt (objSocketHandler、SOL_SOCKET、SO_RCVBUF、&u32ReceiveBuffSize、(INT32S) sizeof (u32ReceiveBuffSize);
请注意、该应用程序会手动初始化 IP 堆栈、而不依赖于配置 (.cfg) 文件。
找到捕获的 Wireshark 流的附加图像、数据包编号 4924 会出现问题。 我的硬件板 IP 地址为 10.1.0.53。
非常感谢您提供有关如何解决此问题的指导。
谢谢。 