MCSDK下的helloworldl例程为什么接受完数据sendto发不出去

2019-03-26 15:26发布

有个问题希望大神们能帮忙解答一下,我用的是c6678EVM,调试MCSDK下的helloWorld例程的时候,程序没做任何改动,我是设置静态IP,DSP IP:192.168.2.100,PC IP:192.168.2.102,程序能正常运行,PC端使用winapps的helloworld.exe触发网络事件,DSP端只能收不能发,一直找不出原因,防火墙关掉了,能ping通,recvncfrom接受的内容也都是正确的,而打印DSP端sendto函数返回值一直是-1,如果正常的话返回值应该是发送的字节数,也即DSP已经接收到的字节数,运行后PC端显示如下:我看了下helloworld.exe的源程序,“timed out waiting for reply”是在select()函数返回值错误时输出的,我对网络通信还不太了解,不知道到底是什么原因引起的,感觉DSP接收完通信就断开了,我现在唯一能想到的是不是因为DSP和PC支持的以太网速率不匹配,我的PC的网卡最多只支持100M,选择的模式是自协商,不知道此例程是不是默认以太网速率是1000M,所以导致单向兼容。所以有下面两个问题:1、以上情况是DSP端还是PC端的问题,sendto发送失败可能是什么原因引起的?2、在使用NDK实现网络通信,要怎么设置以太网速率模式为指定的模式?可能表述的不是很好,期待你的解答,谢谢!
此帖出自小平头技术问答
0条回答

一周热门 更多>