以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- OPEN QQ 客户端登陆失败 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189309) |
-- 作者:victor_lin33 -- 发布时间:2023/11/23 15:03:00 -- OPEN QQ 客户端登陆失败 蓝老师:
客户端的电脑 网管把它门都加入域后一直报错
OpenQQ服务器项目代码 AfterOpenProject QQServer.ServerPort
= 52177 \'指定登录端口 QQServer.HeartbeatInterval
= 60 \'指定心跳时间 QQServer.HeartbeatTimeout
= 180 \'指定心跳超时时间 QQServer.PortRange
= "52000/53000" \'指定随机端口范围 QQserver.Buildin
= True \'启用内置身份验证 QQServer.Start() \'启动QQServer
e.Success = True \'允许登录 For Each u As UserInfo In Users If u.Name <> e.User.Name Then If u.Group > "" Then e.Buddies.Add(u.Group & "."
& u.Name) Else e.Buddies.Add(u.Name) End If End If Next End If 服务端代码ReceivedMessage If e.Message =
"GetDate" Then e.ReturnValue = Date.Now End If
客户端项目代码 LoadUserSetting QQClient.ServerIP
= "10.8.8.11" \'指定服务器IP地址 QQClient.ServerPort
= "52177" \'指定服务器端口 If QQClient.Start() = True Then\'如果登录成功 QQClient.OpenChatWindow() \'e.Form.Controls("btnChat").Enabled
= True Dim msg As String = "恭喜,OpenQQ登录成功!" If QQClient.ServerMessage > "" Then \'如果服务器返回了欢迎信息 msg = msg & QQClient.ServerMessage End If \'ConfigBar.Items("OpenQQ").SmallImage
= GetImage("online.ico") popMessage(msg, "提示", PopiconEnum.Infomation, 5) Else \'如果登录失败,显示服务器返回错误信息\' \'
e.Form.Controls("btnChat").Enabled = False PopMessage("QQClient登录失败,原因:" & vbcrlf & QQClient.ServerMessage, "提示", PopiconEnum.Error, 5) End If |
-- 作者:victor_lin33 -- 发布时间:2023/11/23 15:04:00 -- 现在用没加入域的客户端电脑 也一样报错 |
-- 作者:有点蓝 -- 发布时间:2023/11/23 15:09:00 -- ping一下服务器IP通不通。 看看服务器端口是不是没有开放 |
-- 作者:victor_lin33 -- 发布时间:2023/11/24 19:25:00 -- 蓝老师: 最终在叶大佬的指导协助 我啃了16天的成果...调试到今日终于搞定...!!! >系统推送消息OK >好友分组OK >相互信息在线 离线互传都OK 客户端项目用户(外部表按照帮助档作 多加了remark 共4列 Name Type Cofing Remark) 客户端项目用户登录 = OPENQQ用户登录 >好友分组 直接用客户端项目用户资料的分组生成 过程很难受 但也很享受... 我感恩叶大佬的支持 协助我搞懂这OPEN QQ... 我把最终代码借论坛分享给大家...可能还有些能优化 但请大家多指正... 希望像我这种小白 买永开版的 都能少走弯路 代码复制去用... 服务端的项目事件 LoadUserSetting
Forms("QQServer").Show |
-- 作者:victor_lin33 -- 发布时间:2023/11/24 19:29:00 -- 启动按钮的 Click QQServer.ServerIp = e.Form.Controls("txtIP").Value \'指定IP地址 QQServer.ServerPort = e.Form.Controls("txtPort").Value \'指定端口 QQServer.HeartbeatInterval = e.Form.Controls("txtInterval").Value \'指定心跳时间 QQServer.HeartbeatTimeout = e.Form.Controls("txtTimeOut").Value \'指定心跳超时时间 QQserver.Buildin = True \'启用内置身份验证 QQServer.Start() \'启动QQServer 暂停按钮的 Click QQServer.Stop() 推送系统消息按钮的 Click Forms("发送系统信息").Open send 按钮的 Click For Each u As UserInfo In Users If u.Name <> UserName Then If u.Group <> "" Then QQServer.SendNotice(u.Group & "." & u.Name , "{!}" & ""& e.Form.Controls("TextBox1").Text &"" ) Else QQServer.SendNotice(u.Name , "{!}" & "" & e.Form.Controls("TextBox1").Text & "") End If End If 服务端的网路监视事件 UserLogging For Each u As UserInfo In Users If u.Name <> e.UserName Then If u.Group <> "" Then e.Buddies.Add(u.Group & "." & u.Name) Else e.Buddies.Add(u.Name) End If End If Next 服务端的网路监视事件 ReceivedMessage If e.Message = "约定格式的信息" Then Users.Load() End If If e.Message = "GetDate" Then e.ReturnValue = Date.Now End If 客户端的项目事件 LoadUserSetting QQClient.ServerIP = "10.8.8.11" \'指定服务器IP地址 QQClient.ServerPort = 52177 \'指定服务器端口 QQClient.UserName = ""\'UserName \'QQClient.UserName = User.Group & "." & UserName QQClient.Password = "" QQClient.stop If QQClient.Start() = True Then\'如果登录成功 Dim msg As String = "恭喜,OpenQQ登录成功!" If QQClient.ServerMessage > "" Then \'如果服务器返回了欢迎信息 msg = msg & QQClient.ServerMessage End If popMessage(msg, "提示", PopiconEnum.Infomation, 5) Else \'如果登录失败,显示服务器返回错误信息\' PopMessage("QQClient登录失败,原因:" & vbcrlf & QQClient.ServerMessage, "提示", PopiconEnum.Error, 5) End If If QQClient.Ready Then QQClient.OpenChatWindow() End If 客户端的网路监视事件 Connected If User.Type <> UserTypeEnum.User Then \'只有开发者和管理员才有必要通知服务端刷新 QQClient.Send("约定格式的信号") End If |
-- 作者:victor_lin33 -- 发布时间:2023/11/24 19:36:00 -- 窗口图 明天再传 |