以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  qqserver 问题 如何判断离线状态  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175700)

--  作者:夜点蚊香
--  发布时间:2022/3/15 22:06:00
--  qqserver 问题 如何判断离线状态

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:qqserver测试.foxdb
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:qqclient 测试.foxdb

服务端  UserLogging 代码如下

Dim pts() As String = e.UserName.Split(".")
Dim dr1,dr3 As DataRow
Dim kc As Row
dr3 = DataTables("在线状态").Find("机器码 = \'" & pts(0) & "\'")
If dr3 Is Nothing  Then \'判断此机器不存在
    kc = Tables("在线状态").AddNew()
    kc("机器码") = pts(0)
    kc("状态") = "在线"
End If
If dr3 IsNot Nothing Then
    dr3("状态") = "在线"
End If
客户端  AfterOpenProject 代码如下

If QQClient.Ready = True Then
    QQClient.Stop()
End If
QQClient.ServerIP = "127.0.0.1"  \'指定服务器IP地址
QQClient.ServerPort = "52177"  \'指定服务器端口
QQClient.UserName =  ComputerId \'指定登录用户名
If QQClient.Start() = True \'如果登录成功
    Dim msg As String =  "恭喜,OpenQQ登录成功!"
    If QQClient.ServerMessage > "" Then \'如果服务器返回了欢迎信息
        msg = msg & QQClient.ServerMessage
    End If
End If

用户登录后的机器码可以和在线状态可以正常显示.
如何在判断客户端退出以后的离线状态.
现在 服务端 UserLogout 写入代码如下.应该是错的,请指教. 是否可以实时扫描用户的在线情况.

Dim pts() As String = e.UserName.Split(".")
Dim dr3 As DataRow

Dim kc As Row
dr3 = DataTables("在线状态").Find("机器码 = \'" & pts(0) & "\'")
If dr3 IsNot Nothing  Then \'判断此机器存在
    dr3("在线状态") = "离线"
End If
[此贴子已经被作者于2022/3/15 22:08:01编辑过]

--  作者:有点蓝
--  发布时间:2022/3/15 22:20:00
--  
UserLogout 代码没有问题呀,有什么问题?
--  作者:夜点蚊香
--  发布时间:2022/3/15 22:39:00
--  
客户端的离线状态是怎么反馈到服务端的.这个没看明白.
--  作者:有点蓝
--  发布时间:2022/3/15 22:45:00
--  
参考:http://www.foxtable.com/webhelp/topics/2973.htm
--  作者:夜点蚊香
--  发布时间:2022/3/15 23:27:00
--  
搞定了,谢谢.
[此贴子已经被作者于2022/3/15 23:55:11编辑过]