主题:求助!关于UDP多线程应答帧捕获问题!
我的个人电脑和另一个设备相连,大概要实现的就是我向设备发送一个询问帧,它就会立即回传我一个应答帧(会立即回传应答是设备设定好了的,无须我编写,我只负责发送询问帧和接收应答帧并处理)。编写了个UDP程序,用pthread_create在主程序中创建了一个线程,我想的是在这个创建的线程里面写接收程序,而在主程序写询问部分,但是不知道是怎么回事老捕获不到设备回传给我的应答帧。是应答帧来的时候我的线埕内接收还没准备好所以才捕获不到吗?请高手指点!!!谢谢!!!!!!
程序大概结构如下:
void thread(void)
{
.................
while(1)
{
recvfrom..........
应答处理...........
}
}
int main(void)
{
网络配置,获取设备IP地址,建立socket,bind等(这里试过,可以收发没问题)...........
调用pthread进入线埕处理pthread_create(.....thread....);(线埕可以进入,没问题)
调用sendto发送询问帧
pthread_jion
}
(该设备定时发送的其他数据帧都可以定时收到,由于每发送一次询问帧只有一个即时应答,却怎么也收不到这个应答,是应答太快还是我程序结构上就处理不对呢?)
程序大概结构如下:
void thread(void)
{
.................
while(1)
{
recvfrom..........
应答处理...........
}
}
int main(void)
{
网络配置,获取设备IP地址,建立socket,bind等(这里试过,可以收发没问题)...........
调用pthread进入线埕处理pthread_create(.....thread....);(线埕可以进入,没问题)
调用sendto发送询问帧
pthread_jion
}
(该设备定时发送的其他数据帧都可以定时收到,由于每发送一次询问帧只有一个即时应答,却怎么也收不到这个应答,是应答太快还是我程序结构上就处理不对呢?)