Foxtable(狐表)用户栏目专家坐堂 → openqq登陆问题


  共有2135人关注过本帖树形打印复制链接

主题:openqq登陆问题

帅哥哟,离线,有人找我吗?
lal021962
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
openqq登陆问题  发帖心情 Post By:2020/1/22 14:25:00 [只看该作者]

服务端的UserLogging事件如下

 

Dim pts() As String = e.UserName.Split(".")
Dim dr1 As DataRow
dr1 = DataTables("openqq用户列表").Find("所属公司 = '" & pts(0) & "' And 用户名 = '" & pts(1) & "'")
If dr1 Is Nothing  Then '判断此用户不存在
    e.Message  = "用户名错误!" '返回给登录者的提示信息
    Return
End If
If dr1("密码") <> e.Password Then '如果密码错误
    e.Message  = "登录密码错误!" '返回给登录者的提示信息
    Return
End If
e.Success = True '允许用户登录
'添加所有同事为好友
For Each dr2 As DataRow In DataTables("openqq用户列表").DataRows
    Dim nm As String =  dr2("所属公司") & "." & dr2("用户名")
    If nm <> e.UserName Then '如果不是登录者本人
        e.Buddies.Add(nm)
    End If
Next

 

服务端启动代码如下:
QQServer.ServerIp = "127.0.0.1" '指定IP地址
QQServer.ServerPort = 52177 '指定登录端口
QQServer.HeartbeatInterval = 30 '指定心跳时间
QQServer.HeartbeatTimeout = 100 '指定心跳超时时间
QQServer.Start() '启动QQServer

 

 

启动客户端代码如下:

小黄 - Foxtable软件 2020/1/22 星期三 14:11:46
启动客户端写了什么代码?服务端的UserLogging事件又写了什么代码?

侧面还行 2020/1/22 星期三 14:12:26
QQClient.ServerIP = "127.0.0.1" '指定服务器IP地址

QQClient.ServerPort = 52177  '指定服务器登录端口

QQClient.UserName = "易装销售.杨龙"

QQClient.Password = "888"

If QQClient.Start() = True '如果登录成功

    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

服务端成功启动后,客户端登陆不成功,出现如下提示:

 

.NET Framework 版本:4.0.30319.1026
Foxtable 版本:2019.12.17.18
错误所在事件:启动IMClient
详细错误信息:
An item with the same key has already been added.

 

 

请问是何原因

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/22 14:36:00 [只看该作者]

"openqq用户列表"是不是有空行?或者有"所属公司"、"用户名"都相同的数据?

 回到顶部
帅哥哟,离线,有人找我吗?
lal021962
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2020/1/22 15:33:00 [只看该作者]

有空行,我试试

 回到顶部
帅哥哟,离线,有人找我吗?
lal021962
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2020/1/22 15:42:00 [只看该作者]

空行删除后出现新问题,显示如下:

 

规定时间内未获服务器响应。


 回到顶部
帅哥哟,离线,有人找我吗?
lal021962
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2020/1/22 15:43:00 [只看该作者]

如果用这段代码是能登陆成功的

 

Dim pts() As String = e.UserName.Split(".")
Dim
dr As DataRow
dr
= DataTables("用户").Find("部门 = '" & pts(0) & "' And 姓名 = '" & pts(1) & "'")
If
dr Is Nothing  Then '判断此用户不存在
    e.Message  =
"
用户名错误!" '返回给登录者的提示信息
    Return

End
If
If
dr("密码") <> e.Password Then '如果密码错误
   
e.Message  = "登录密码错误!" '返回给登录者的提示信息
   
Return

End
If
e
.Success = True '允许用户登录
'添加存储在好友列的非本部门的好友

If
dr.IsNull("好友") = False Then
    Dim nms() As String = dr(
"
好友").Split(",")
    e.Buddies.AddRange(nms)

End
If
'最后添加相同部门的同事为好友

For
Each dr In DataTables("用户").Select("部门 = '" & pts(0) & "'")
    Dim nm As Stringdr("部门") & "." & dr("姓名")
    If nm <> e.UserName Then '如果不是登录者本人
       
e.Buddies.Add(nm)
    End
If

Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/22 15:59:00 [只看该作者]

把您做的服务端项目发上来看看

 回到顶部