EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
有个问题希望大神们能帮忙解答一下,用的是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端显示如下:
# `$ W3 J- V( H5 L d
+ [) m# R5 G; o
看了下helloworld.exe的源程序,“timed out waiting for reply”是在select()函数返回值错误时输出的,网络通信还不太了解,不知道到底是什么原因引起的,感觉DSP接收完通信就断开了,现在唯一能想到的是不是因为DSP和PC支持的以太网速率不匹配,PC的网卡最多只支持100M,选择的模式是自协商,不知道此例程是不是默认以太网速率是1000M,所以导致单向兼容。所以有下面两个问题: ( H" [1 P( V7 z" ] a
1、以上情况是DSP端还是PC端的问题,sendto发送失败可能是什么原因引起的? 1 k8 S% ^$ W" b, S
2、在使用NDK实现网络通信,要怎么设置以太网速率模式为指定的模式?
+ e) K4 d- ]8 N. a1 G
可能表述的不是很好,期待你的解答,谢谢! 5 ?! j( K p$ Z2 i$ [
|