不采用广播,对多个IP同时发送数据的有关问题
不采用广播,对多个IP同时发送数据的问题
因为底层设备已经固定了。只接受简单的udp数据。
当前要做的是,取一个设备的信息,复制给其他任意台设备。
现在我是这么做的,对这些待复制设备,检测一遍,提取出ip。
每提取一个ip,就向下发送一组数据(一组大概60条udp指令)。
想到过,动态创建线程,每个线程构造一个socket来发送数据,但是一直没做好。自己本身也没有在MFC内使用过多线程的经验。
请求指导。
------解决方案--------------------
你的思路也是可以的
至于说线程的知识,可以网上找点例子代码来参考一下
创建线程的相关函数有
CreateThreadEx() -- win32api
_beginthreadex() c++接口函数
具体用法请自己找一下参考资料
------解决方案--------------------
用一个链表维护,然后遍历链表,发送数据
放到一个线程中处理
------解决方案--------------------
这样就要看你5-6秒耗时是花在查询IP上还是花在发送上了。如果纯粹的几K内容的话,发送一次应该花不了5-6s那么长吧。
socket可以用用一个,但是有缓冲区大小,如果数据太大,也得排队,你可以固定用几个。
------解决方案--------------------
你可以采用多播方式,不用广播的话WSAJoinLeaf
因为底层设备已经固定了。只接受简单的udp数据。
当前要做的是,取一个设备的信息,复制给其他任意台设备。
现在我是这么做的,对这些待复制设备,检测一遍,提取出ip。
每提取一个ip,就向下发送一组数据(一组大概60条udp指令)。
想到过,动态创建线程,每个线程构造一个socket来发送数据,但是一直没做好。自己本身也没有在MFC内使用过多线程的经验。
请求指导。
------解决方案--------------------
你的思路也是可以的
至于说线程的知识,可以网上找点例子代码来参考一下
创建线程的相关函数有
CreateThreadEx() -- win32api
_beginthreadex() c++接口函数
具体用法请自己找一下参考资料
------解决方案--------------------
用一个链表维护,然后遍历链表,发送数据
放到一个线程中处理
------解决方案--------------------
这样就要看你5-6秒耗时是花在查询IP上还是花在发送上了。如果纯粹的几K内容的话,发送一次应该花不了5-6s那么长吧。
socket可以用用一个,但是有缓冲区大小,如果数据太大,也得排队,你可以固定用几个。
------解决方案--------------------
你可以采用多播方式,不用广播的话WSAJoinLeaf