本帖最后由 hs999xl 于 2024-3-6 20:14 编辑 zzz799554399 发表于 2024-3-6 19:06 hp事件里都是多线程,操作全局变量得加锁。就是同一时刻保证只能有一条线程修改变量。客户端发起请求到服务器回复完响应可能几秒钟就结束了。释放连接变量—1,这个主意貌似不太完美。 有个差不多的方案:客户端发来请求3分钟内,我们就认为它正在看我们网站呢,如果大于3分钟,此用户没有发起过请求,那我们就认为它可能去别的地方潇洒了。 |
hs999xl 发表于 2024-3-5 22:28 那我在请求消息那里识别“/”,每次有人访问就会有一次“/”,这里就可以统计访问次数了,在线人数可以设置变量,在用户进入+1,在释放连接+1,是不是就可以了,我去试试嘿嘿 |
llddkzf 发表于 2024-3-5 22:39 跟我说的意思有什么不同吗? |
HTTP是无状态链接 只有浏览器才能主动发起请求 服务器不能主动发起请求 链接什么时候断开由浏览器决定,服务器只能主动断开连接 至于怎么cha询客户数量 需要用到cookie 来进行会话管理 如登录 ** 等 |
hs999xl 发表于 2024-3-5 22:28 回复错了 |
本帖最后由 hs999xl 于 2024-3-5 22:30 编辑 我先瞎说一下哈,不是太懂。 1、http协议是客户端(浏览器)发起请求,服务端响应请求,响应完就断开连接了,无法长连接,所谓长连接就是比一般连接长一点,方便服务器与客户端之间传数据不用重复连接握手,最终也会断开。 2、在线客户数量可以给客户端个Cookie值,然后服务器上自己做个登录表,有正确的访问请求就把它插入表中,然后统计最近几分钟内(比如3分钟)有多少记录,去掉重复值就是大概的在线人数了。 3、我是瞎说的,别当真,没人教,我也不知道对不对。 |
|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )
GMT+8, 2024-11-24 02:30 , Processed in 0.084675 second(s), 22 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.