多线程下的ping程序如何防止接收的混乱?
我用raw_socket,
建立socket时使用connect(sockRaw, (struct sockaddr*)&dest, sizeof(dest))来将socket与目标ip地址绑定,
分别用send和recv来发送和接收数据包,根据MSDN上说,使用这两个函数可以建立一一对应的发送接收关系,可以防止混乱
在多线程(每个线程对应一个ip)中使用如上方法,则对一个子网(254台主机)进行ping操作的时候,一开始还是会发生接收到其他线程发送的ping包的情况,后来我在开启每个线程之间用sleep设置一定的时间间隔(50-80ms),则以上现象消失,但是我觉得这不是一个好的解决方法,毕竟浪费了一定的时间,想请教各位为何会出现接收混乱的情况,既然我已经使用connect和send/recv