1。队列应该是可以的,请高手具体指点下
2。腾讯的服务器是如何作的(几百万个用户哦)?请一定说具体点阿

解决方案 »

  1.   

    这个很容易呀, 10000个用户的数据交换也不是太大,
    多开几个端口就搞定。 用WSAEventSelect 模型可能较好。。
      

  2.   

    1,liangrq(大笨钟),你说具体点好不?
    2,ybeetle(小鬼) 你总要介绍下“WSAEventSelect 模型”吧
    3,难道没有人会用队列来处理这个问题?
      

  3.   

    应该可以完成:
     一个UDP端口接收请求数据包,每接收一个请求就把该请求的数据以及请求者的IP与端口作为一个数据结构加入队列。另外有N个线程同时的从队列中取数据来一个个进行处理,每个线程使用自己线程创建的UDP SOCKET来完成向客户端发送处理结果。但是这里有个问题,当处理线程太多,而同时从队列中取数据时,要用到同步,所以这时候的效率会下降很多,如果有可能,最后为每一个处理线程开设一个队列,而每次收到请求后,将请求数据加入到队列成员最少即最清闲的那个队列中去,这样每个处理线程就只管处理属于自己的队列中的请求,而不用使用互斥来从一个队列中取数据而下降效率。一个线程+ 1个UDP SOCKET接收请求(1个线程+1个队列+1个UDP SOCKET 回应结果)* 线程数量
      

  4.   

    WSAEventSelect 模型不太合适,该模型一个线程只能管理64个用户,1000个用户只能开辟十几个线程,县城之间频繁调度耗用太多的系统资源,可用IOCP模型,不过只能用在win2000及以上板本的windows系统中(别的系统不支持)
      

  5.   

    TO :liangrq(大笨钟) “分布式的多点控制单元”能否详细说明一下
              -------------------------- 
                    为了得到我应该得到的
                    为了找回我曾经失去的