我编码插槽服务器,该服务器是对我的球技,我使用非阻塞的套接字和大约10个线程,从不同的插座同时接收数据(第一线从0-100接收,第二从101-200等..)C++套接字发送()线程安全的1000个客户最高要求
但如果线程1想要将数据发送到所有1000个客户端和线程2还希望在同一时间将数据发送给所有的1000个客户端,那是安全的吗?数据在其他(客户端)方面是否存在混淆的可能性?
,如果是,我想可能发生的唯一的问题是,有时客户会收到2个或10个数据包为一包,是正确的?如果是的话,有没有解决这一:(
同意ckv提供的答案,但我会建议重新考虑这种方法。有10个线程可以从不同的时间间隔读取不同套接字的好处?让线程从您的架构中的套接字和异步处理组件中读取可能会更容易。 – 2010-07-13 08:59:47
@Daniel我想你是指每个套接字都有一个线程。对? – ckv 2010-07-13 09:21:16
当其中一个正在阅读时,大多数线程将等待。使用'select()'这样的东西可能是一个更好的选择,并且可以降低复杂性。事实上,它甚至可能会更快。 – ereOn 2010-07-13 09:26:48