服务器怎么统计客户端个数?

gky0895 2010-03-15 12:55:17
有什么标志客户端连着还是断开阿可以判断阿
...全文
103 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanguomi 2010-03-15
  • 打赏
  • 举报
回复
一般都是一个列表,用客户端 的硬件做唯一标识,
然后心跳,添加用户最后通讯时间,一个扫描线程扫描列表,判断多久没通讯的踢掉
tech_study_00 2010-03-15
  • 打赏
  • 举报
回复
保存一个客户端连接数据列表即可。

新连接,则添加到列表;
断开连接,从列表去掉。
WizardK 2010-03-15
  • 打赏
  • 举报
回复
自己计数
Eleven 2010-03-15
  • 打赏
  • 举报
回复
accept的时候计数加一,close的时候减一,用心跳包吗,client半天没回应,close连接,计数减一。
wwgddx 2010-03-15
  • 打赏
  • 举报
回复
需要自己手动编码统计.
DontKissBossAss 2010-03-15
  • 打赏
  • 举报
回复
设计一个链表数据结构,保存一个 client 和其 最后一次请求的时间。
服务器每隔一段时间 删除所有长时间没有请求的session,其他的办法我没经验,比如,你想客户端发送一个请求,检查是否连接,貌似这样是浪费资源。
skychgg 2010-03-15
  • 打赏
  • 举报
回复
需要自己设置统计数字吧,如果服务器端采用每有一个连接就创建接收线程,当接收数据返回-1,说明断开连接!将连接计数器-1.不知道是不是你想要问的。
gky0895 2010-03-15
  • 打赏
  • 举报
回复

if ((Accept = WSAAccept(Listen, NULL, NULL, NULL, 0)) == SOCKET_ERROR)
{
printf("WSAAccept() 发生了如下错误: %d\n", WSAGetLastError());
return;
}
printf("号码为 %d 的socket连接上了\n", Accept);


设个变量接受一次加一次吗??断开一个怎么判断阿
kevinmartin 2010-03-15
  • 打赏
  • 举报
回复
用什么统计?做什么的,不说没法知道。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧