This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSPC6678 基于NDK的UDP通信,当上位机发送5000包后,就再无法发送下去--------急



各位大牛,

我在做基于NDK的C6678的 的UDP的通信,网络调试助手连续发64Byte数据过来, 然后通过SRIO发送FPGA,回环, 最后又返回给网络调试助手。

当我发送到5000多包数据后, 下位机不再接收了,此时ping不通网络。

找了好多资料, 尝试一些解决方法

1.之前是用那个recvncfrom接收, 现在改成recvfrom接收, 这个需要从网络接收缓冲池赋值一份。结果最多能就收5700多包, 未改之前,只能接收200包

2.修改UD缓冲池大小为65500 ,仍然一样

3.网上找资料,说是应为,主线程一直占用CPU, 而基于NDK的守护线程的执行函数, 无法调用,导致无发刷新数据队列,导致堵塞

博客在此: 

blog.csdn.net/.../48751999

博客中说:

.NDK的守护任务在完成初始化后即会自动降低Task优先级至最低的IDLE Task级,若用户Task执行在高于IDLE的优先级,且一直不通过阻塞来主动放弃执行时间的话,则NDK的数据报队列状态将一直得不到更新,从而导致用户Task的socket函数无法正常接收和发送数据报

我按他给的方法,试验过,还是不能解决, 望各位大牛指导,谢谢!!!!