我的怎么连接超过10个以上就会有问题呢
是不是应该为每一个客户端开一个线程呢?
给点建议

解决方案 »

  1.   

    accept函数里的参数缺省为5,所以它就接收5个客户端的连接请求。你可以通过定义一个SOCKET数组来解决。
    连接上一个客户为它开个线程我认为是个好主意
      

  2.   

    可以在listen()函数中设置侦听队列中的成员个数,每次侦听到之后就为其打开一个线程,
    一般程序就是这么编写的,在windows的窗口函数中就是这样
      

  3.   

    使用mfc的类还需要单独开线程吗?
      

  4.   

    连接数量我倒是没有注意, 但是CAsyncSocket类的描述中就有一个Socket对象开辟一个新的线程的代码.不用自己再书写了:)
      

  5.   

    对于小型的应用系统,一个SOCKET一个线程还是可以采用的,但对于高并发的系统,这种方法是肯定不可取的,因为一般的WIN2K操作系统,线程数是很难达到2000的,也就是说,你的应用程序最多只能接受2000个socket,再加上线程之间的切换,系统的资源占用无疑将会大大增加。连接数不能达到10个,肯定是程序的问题,因为如果一个系统连10个线程都达不到,那就没办法玩了。
      

  6.   

    使用MFC异步SOCKET类构建的
    MFC阿,什么时候实现能更好一点阿
    有人写过用完成端口实现的类吗?
    直接使用很不方便
    自己封装又怕出现很多问题
    再就是现在是98系统
    根本不支持阿