当前位置: 技术问答>linux和unix
【急急急急急】socket的recvmsg() 函数是否能够在Linux2.6中正常使用
来源: 互联网 发布时间:2016-08-01
本文导语: 在2.6内核中编译socket 的recvmsg()函数发现无法获取到资料, 并且在调用recvmsg()函数后fopen总是失败。 但是相同的函数在2.4内核中编译会发现可以正常使用。 不知原因希望大侠们给点建议。 | 撇开程序本...
在2.6内核中编译socket 的recvmsg()函数发现无法获取到资料,
并且在调用recvmsg()函数后fopen总是失败。
但是相同的函数在2.4内核中编译会发现可以正常使用。
不知原因希望大侠们给点建议。
并且在调用recvmsg()函数后fopen总是失败。
但是相同的函数在2.4内核中编译会发现可以正常使用。
不知原因希望大侠们给点建议。
|
撇开程序本身而言,首先要判断逻辑上没有什么错误,而且思维不要定势,楼主先不要急着下结论,毕竟什么可能性都有,内核修改过后或者说换了环境之后你先判断下netmask是否相同,两台设备能否直接建立通信,如果可以那进行下面的步骤
1.确定发送端能够发送数据
2.确定接收端recvmsg之前所有的准备工作已经做好,并且你printf();调试时没有发现错误
3.如果不行不妨重新移植到另外一太设备上工作,看结果是否有差异
4.如果确定是recvmsg的问题,那么首先告诉你两个内核之间是没有兼容性的问题。
所以我现在怀疑能否直接建立通信,网络是否畅通
|
这个函数肯定是能用的
楼主好好检查下代码的逻辑哦
楼主好好检查下代码的逻辑哦