问题主要是服务器的Socket对象,是用数组把所有在线的人做为一个Socket数组成员来保存,还是不用数组,每当一个连接来的时候就创建一个线程来处理。但是如果用第二种的话,当用户异常下线后,在服务器数据库上仍然是在线状态! 
请问是用哪种方法更好,或是有更好的方法呢?谢谢!

解决方案 »

  1.   

        这类问题应该属于聊天室问题,我曾经接触过类似的一个课堂设计,用的是第二种方法,不过是可以解决您所提到的关于对方下线的问题,大致的思路是对方的客户端界面上也必须得有一个按钮是用来断开与服务器的连接的。当服务器接收到断开的消息时就可以把断开的那个客户端的IP和端口移出协议栈。
        但如果不用这种方法的话也应该是可以的,不过要麻烦些,你可以给每个客户设计一个定时器,如果超出一定的时间就自动取消与其的连接。
        你也可以google一个源代码看看,你就找"VC 聊天室程序"估计就应该有大量的代码,您可以分析一下源代码。
      

  2.   

    就是很多个的意思cpu pool 就是多个cpu的集合 线程池多个线程的集合