TI中文支持网
TI专业的中文技术问题搜集分享网站

sock_raw网络编程下setsockopt设置hdrincl无效

芯片类型:tms320c6678     ccs版本:5.5

评估板:Blackhawk xds560v2-USB  计算机系统:Windows7

我使用NDK,创建了sock_raw类型的套接字。想要6678发送一个自己写ip头的udp包到我的计算机上。用setsockopt(s, IPPROTO_IP, IP_HDRINCL, (void*)&rc, sizeof(int)),其中rc = 1。但是,我接收到包仍然是自动配置好ip头的udp包,我写的ip头被当做了传输的数据,如下图所示。

蓝色选中部分为我所配置ip头加udp头加传输的数据Hello World!,多出了前面那部分系统自动配置的ip头,感觉我写的那句setsockopt()并没有生效。

希望能够得到前辈们的指点,谢谢!

关键代码如下:

Thomas Yang1:

setsockopt() 用来设置socket option,其中第4个参数是pbuf,执行完这句后,你可以参看相应buffer的存储内容, 

随后应该有IP头, MAC地址头添加函数,你可以单步跟踪看下是哪步添加进去的。为了确保流程正确,建议先按照NDK的例子跑一下

赞(0)
未经允许不得转载:TI中文支持网 » sock_raw网络编程下setsockopt设置hdrincl无效
分享到: 更多 (0)