以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  OpenQQ客户端超1分钟自动掉线  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186024)

--  作者:hongsejiyi
--  发布时间:2023/4/1 19:25:00
--  OpenQQ客户端超1分钟自动掉线
OpenQQ的服务端和客户端使用正常,但有一个现象是,所有客户端只要是超过一分钟,在Server端可以看到用户在线,但无论是客户端之间,还是服务端与客户端都不能联系,只有客户端再重新登录一次,才可以建立联系
通过反复多次的测试,发现一个规律,只要是不超过60秒(等于60秒也没问题)发送一次信息,包括本机(发送消息端)和所有接收端,就能保持这种联系,每个都不会自动离线,一但超过60秒不联系,所有超过60秒的客户机,都需要再次登录(start)一次,才可以和服务端建立关联。
我是按照心跳30秒、超时100秒设置的,为什么是60秒呢,我建立了一个计划,一分钟(60秒)给每个客户端(它们之间互为朋友)发一个消息,这些客户端之间,就能保持都不掉线,一直很稳定。

如果每个客户端超过60秒,都需要重新登录,才能正常使用,没有明白这是怎么回事?需要哪里设置,如何设置,才能改变这个60秒的间隔。或者为了保持这个在线状态,也需要建立一个计划,一但登录后,需要60秒之内重复登录来保持一直在线的状态吗?谢谢

--  作者:有点蓝
--  发布时间:2023/4/2 20:18:00
--  
没见过这种情况,可能是网络有什么问题。

试试把心跳改为20秒测试一下

--  作者:hongsejiyi
--  发布时间:2023/4/3 8:36:00
--  
试了,和这个设20秒和30秒,没有区别,只要超一分钟,就自动离线,且不自动连线,不知道是怎么回事?
--  作者:有点蓝
--  发布时间:2023/4/3 8:48:00
--  
使用openqq自带的帮助示例测试有没有问题?服务端和客户端都在本机测试有没有问题?

如果是普通开发版,是不是在线用户超过20个了?

--  作者:hongsejiyi
--  发布时间:2023/4/3 12:59:00
--  
试了一下,用官方提供的案例,结果也是一样的!
我用的是开级开发版,其实在线用户就是两个(两个客户端)和一个服务端。(上边我的项目用四五个客户端做测试,发现的这个现象)

--  作者:cd_tdh
--  发布时间:2023/4/3 13:08:00
--  
项目发出来试试,我碎随时几十人没这样的问题
--  作者:hongsejiyi
--  发布时间:2023/4/3 13:18:00
--  
多少个人不是问题,而是超过1分钟后,就会掉线,需要新登录一次,才能继续使用,如果不超过一分钟,有信息互传,就一直很稳定,不出现问题。

图片点击可在新窗口打开查看此主题相关图片如下:2023-04-03_131108.jpg
图片点击可在新窗口打开查看


我的测试环境是:
服务端,WindowsServer 2016,放置在单位的局域网内(主控室)
客户端,一个Win7(单位云主机)、一个Win10(家里PC机)

我原来的项目Server端配置
If QQServer.Ready = True Then QQServer.Stop()
QQServer.ServerIP = "0.0.0.0"
QQServer.ServerPort = "52688"
QQServer.PortRange = "52700/53000"  \'这里的端口区间不能和上边的62688交叉,即:52700-53000不能包含52688
QQServer.HeartbeatInterval = 20 \'指定心跳时间
QQServer.HeartbeatTimeout = 100 \'指定心跳超时时间
If QQServer.Start() = True Then
    PopMessage("及时通讯已经开起", "温馨提示", PopiconEnum.OK, 5)
End If

[此贴子已经被作者于2023/4/3 13:23:34编辑过]

--  作者:有点蓝
--  发布时间:2023/4/3 13:35:00
--  
应该是网络穿透的原因:http://www.foxtable.com/webhelp/topics/3034.htm

这种情况只能定时重连了。

--  作者:hongsejiyi
--  发布时间:2023/4/3 14:28:00
--  
嗯,可能是这个穿透的问题吧!