关于网友提出的“ winsock编写的聊天程序,如何在服务器端控制连入的客户端的个数?”问题疑问,本网通过在网上对“ winsock编写的聊天程序,如何在服务器端控制连入的客户端的个数?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: winsock编写的聊天程序,如何在服务器端控制连入的客户端的个数?
描述: 用Winsock写了一个C/S模式的聊天程序,现在想在服务器端控制连入的客户端的个数。比如,允许最多10个客户端接入,第11个客户端connect的时候使之失败,这应该怎么做呢?
解决方案1: 对,用个全局变量来判断当大于10,ACCETP的时候就都CLOSE掉
解决方案2: listen()好像不是侦听的次数,而是侦听的队列数
解决方案3: 在listen()中可以限定监听的次数,多与它时服务器不在LISTEN,所以更谈不上ACCEPT拉
解决方案4: up
解决方案5: 大家有没有搞错啊, 这不是很明显的事情吗>??
OnConnect(int ErrCode??)
{
if(count<>
Accept(CntSocketObject);
}
解决方案6: 在服务器端应该可以建立一个指定最大的客户端数量,在没有达到最大时,可以接入S端一个,进行建立监听连接,然后循环,直到饱和;可以限制服务器端连接的客户端数量;
解决方案7: 你想通过设置什么属性来完成。可能不行
解决方案8: 定义一个记数变量COUNT
然后在ACCEPT的消息中这样做
if(count>10)
{
closesocket(...);
}
else
{
count++;
accept(...);
}
解决方案9: 用个全局变量来判断
当>10的时候ACCETP的就都CLOSE掉
解决方案10: aceept后 closesocket()
以上介绍了“ winsock编写的聊天程序,如何在服务器端控制连入的客户端的个数?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3193629.html