|
近期有个项目需要使用网络与上位机进行通信,DSP每1ms发10~15kB的数据,还需要接收上位机下发的一些参数。
方法1,改写hello例程,例子提供的通信方式是上位机发个udp数据包,dsp在回调函数中把收到的数据再发给上位机。我需要以一定间隔主动发数据包给上位机。
尝试1:保留原有的hello线程,新建线程使用底层socket函数创建udp,结果提示创建时返回的句柄错误(返回0), 什么问题?
尝试2:使用例程中原来的套接字,但套接字句柄被封在了ndk库中,无法调用。想到的办法是定义一个全局的套接字 变量,在上位机给dsp发数据时,在回调函数中把套接字拷贝到预先定义的全局变量中,拷贝成功了,在别的
线程中,使用snedto函数发送数据,发现回调函数内可以发送,回调函数外就无法发送了,什么问题?
希望工程师指出问题出在哪,或者提供一种可以满足需求是使用方法,谢谢!
ndk走不下去后,使用Pa_simple工程进行尝试,不使用NDK,可是同样遇到了问题,使用senddata函数时,函数内部有一个
延时,修改延时为250us时,会严重丢包,修改延时为300us时,不丢包。可是传输速率无法满足需求。以300us间隔为例,每次发送1440Bytes。传输速率为4.8MB/s。无法满足需求。请问需要修改什么地方才能提高发送速率?
|
|