Foxtable(狐表)用户栏目专家坐堂 → UserLogging事件已经success,但是还是没登录成功~


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

主题:UserLogging事件已经success,但是还是没登录成功~

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/17 9:43:00 [显示全部帖子]

以下是引用huangxueyao在2018/9/17 9:36:00的发言:
客户端收到的消息是服务器在规定时间内没有响应,
NAT穿透怎么解决?

 

1、如果提示【服务器在规定时间内没有响应】说明你客户端里面的代码有问题。加入msgbox,看服务器端那里能否弹出(UserLoggingUserLogged都加入msgbox测试)

 

2、把try catch去掉,避免一些错误没有被显示出来。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/18 14:36:00 [显示全部帖子]

1、把try catch去掉,避免一些错误没有被显示出来;

 

2、测试msgbox能否弹出,如果可以弹出,去掉msgbox以及UserLoged事件代码测试;

 

Try   
    Dim cmd As New SQLCommand
    cmd.ConnectionName= gs_strActiveConnLog
    cmd.CommandText="Sel ect a.工号,a.账号,a.部门ID,a.用户名称,b.部门名称 from 用户名表 a left join 公司部门表 b on a.部门ID=b.部门编号"
    Dim dt As DataTable=cmd.ExecuteReader
    Dim st As String = e.UserName.Split(".")(0) & "." & e.UserName.Split(".")(1)
    Dim dr1 As DataRow= dt.Find("部门名称='" & e.UserName.Split(".")(0) & "' and 用户名称='" & e.UserName.Split(".")(1) & "'")
    If dr1 IsNot Nothing Then
        PopMessage(e.UserName & "正在尝试登陆,已查询到用户信息!","提示", PopIconEnum.Infomation, 5)
        e.Success = True '允许用户登录
        If dt.DataRows.Count>0 Then
            '添加所有同事为好友
            For Each dr As DataRow In dt.DataRows
                'If (dr("部门名称") & "." & dr("用户名称")) <> e.UserName Then '如果不是登录者本人
                If (dr("部门名称") & "." & dr("用户名称")) <> st Then '如果不是登录者本人
                    If e.Buddies.Contains(dr("部门名称") & "." & dr("用户名称") & "." & dr("账号"))=False Then
                        e.Buddies.Add(dr("部门名称") & "." & dr("用户名称") & "." & dr("账号"))
                    End If
                End If
            Next
        End If
msgbox(123)
    Else
        PopMessage(e.UserName & "正在尝试登陆,但未能在数据库查询到相关数据,登录失败!","提示", PopIconEnum.Infomation, 5)
        e.Success = False '拒绝用户登录
        e.Message= Functions.Execute("Xml发送信息","用户不存在!请重新确认用户名称!")
    End If
Catch ex As Exception
    e.Success = False
    e.Message=Functions.Execute("Xml发送信息","服务器端错误:" & ex.Message)
End Try
msgbox(456)

 

3、如果还是有问题,请尝试使用casestudy里面的qqserver以及qqclient,在不能正常连上的电脑里测试


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 9:44:00 [显示全部帖子]

以下是引用huangxueyao在2018/9/18 20:51:00的发言:

后来我又用官方的例子,换成默认端口52177,一样是不行,

然后我在官方例子的userlogging事件上加了提示,证明可以到达这个事件,但是依然启动不了,客户端一样是超时无反应。


 

 

用自带的例子依然超时无反应的话,先确保是不是你msgbox弹出的问题导致的(弹出msgbox的时候,服务器端相当于卡死了,有可能导致超时报错,你把msgbox那些提示都删除后测试,确保及时返回数据)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 9:46:00 [显示全部帖子]

以下是引用huangxueyao在2018/9/19 9:06:00的发言:
今天把昨晚在外网测试不行的客户机搬到公司局域网内测试,完全没问题,无论是我自己做的项目,还是官方的测试项目,无论是用内网IP还是外网IP都没问题。

版主能帮忙远程看看么?
[此贴子已经被作者于2018/9/19 9:10:53编辑过]

 

如果是在你局域网测试可以,外网不行的话,就是网络架设的问题导致的了。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 10:37:00 [显示全部帖子]

以下是引用huangxueyao在2018/9/19 10:18:00的发言:
我都是用pop,没有用msgbox

 

那只能是网络问题囖。同样的电脑,换一个网络环境,就可以了吗?如果是,就是其特定的网络那里有问题。


 回到顶部