请问大家多人聊天的服务器是什么原理
是为每一个登陆的用户都开一个线程监听吗?
最近正在研究一个聊天软件
ClientSocket = new Socket[100];
ClientThread = new Thread[100];
是这样吗?感觉不是很爽,大家有什么高见?

解决方案 »

  1.   

    一个线程不是只能监听一个socket吗? 不明白……
      

  2.   

    DDD
      

  3.   

    DDD 
      

  4.   

    有一个线程就够了,你会发现当数据量上来的时候,是要避免做即时更新的,比如你用QQ会偶尔发现有人的说话时间比你晚但是却显示在你的上面,你会发现当QQ的用户量越来越大的时候即时性就越来越不好了。
      

  5.   

    线程不是为了防止receive堵塞吗?
    while (true)
    {
        ClientSocket[0].Receive(……);
        ClientSocket[1].Receive(……);
        ……
    }
    这样也行不通呀。
      

  6.   

    如果用ClientSocket 这种方式来做 应该好像有个什么等待信息的方法。
      

  7.   

    为啥一定要用socket呢?换种服务器就行了哇。Tcp不稳定