递归火山软件开发平台

标题: HP_HTTP服务器的是否为保持连接(keep-alive) [打印本页]

作者: zzz799554399    时间: 2024-3-5 21:53
标题: HP_HTTP服务器的是否为保持连接(keep-alive)
我想请问一下,我在使用HP_HTTP服务器的时候,看到例程里面有是否为保持链接命令,没有怎么设置为保持链接的命令,所以想请问一下,是保持链接好,还是跟例程里一样,检测保持链接=假,然后释放连接好。
请问怎样才能保持链接?
请问怎样cha询当前在线的客户数量?

作者: hs999xl    时间: 2024-3-5 22:28
本帖最后由 hs999xl 于 2024-3-5 22:30 编辑

我先瞎说一下哈,不是太懂。
1、http协议是客户端(浏览器)发起请求,服务端响应请求,响应完就断开连接了,无法长连接,所谓长连接就是比一般连接长一点,方便服务器与客户端之间传数据不用重复连接握手,最终也会断开。
2、在线客户数量可以给客户端个Cookie值,然后服务器上自己做个登录表,有正确的访问请求就把它插入表中,然后统计最近几分钟内(比如3分钟)有多少记录,去掉重复值就是大概的在线人数了。
3、我是瞎说的,别当真,没人教,我也不知道对不对。
作者: llddkzf    时间: 2024-3-5 22:32
hs999xl 发表于 2024-3-5 22:28
我先瞎说一下哈,不是太懂。
1、http协议是客户端(浏览器)发起请求,服务端响应请求,响应完就断开连接了, ...

回复错了
作者: llddkzf    时间: 2024-3-5 22:39
HTTP是无状态链接  只有浏览器才能主动发起请求 服务器不能主动发起请求  链接什么时候断开由浏览器决定,服务器只能主动断开连接  

至于怎么cha询客户数量 需要用到cookie 来进行会话管理 如登录 ** 等
作者: hs999xl    时间: 2024-3-5 22:41
llddkzf 发表于 2024-3-5 22:39
HTTP是无状态链接  只有浏览器才能主动发起请求 服务器不能主动发起请求  链接什么时候断开由浏览器决定,服 ...

跟我说的意思有什么不同吗?
作者: zzz799554399    时间: 2024-3-6 19:06
hs999xl 发表于 2024-3-5 22:28
我先瞎说一下哈,不是太懂。
1、http协议是客户端(浏览器)发起请求,服务端响应请求,响应完就断开连接了, ...

那我在请求消息那里识别“/”,每次有人访问就会有一次“/”,这里就可以统计访问次数了,在线人数可以设置变量,在用户进入+1,在释放连接+1,是不是就可以了,我去试试嘿嘿
作者: hs999xl    时间: 2024-3-6 19:54
本帖最后由 hs999xl 于 2024-3-6 20:14 编辑
zzz799554399 发表于 2024-3-6 19:06
那我在请求消息那里识别“/”,每次有人访问就会有一次“/”,这里就可以统计访问次数了,在线人数可以设 ...

hp事件里都是多线程,操作全局变量得加锁。就是同一时刻保证只能有一条线程修改变量。客户端发起请求到服务器回复完响应可能几秒钟就结束了。释放连接变量—1,这个主意貌似不太完美。
有个差不多的方案:客户端发来请求3分钟内,我们就认为它正在看我们网站呢,如果大于3分钟,此用户没有发起过请求,那我们就认为它可能去别的地方潇洒了。





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4