Foxtable(狐表)用户栏目专家坐堂 → OPENQQ服务器报错


  共有2057人关注过本帖平板打印复制链接

主题:OPENQQ服务器报错

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


加好友 发短信
等级:婴狐 帖子:50 积分:469 威望:0 精华:0 注册:2015/11/13 12:35:00
OPENQQ服务器报错  发帖心情 Post By:2015/12/17 10:29:00 [只看该作者]



相关函数代码为: 目前设置是客户端登陆时 向服务器发送GetIp信息,由服务器返回客户端的IP
该程序安装在自己的服务器上没报这个错误
但如果通过 阿里云主机登陆我的服务器,也提示这个 不知道这样的主机

将QQ服务端放到阿里云服务器上,在阿里云服务器上登陆客户端,服务器也报这个错误.
其它客户端电脑登陆有的出这个错误,有的不出


'Functions.Execute("QQ消息接收处理",e)
Dim e As Object = Args(0)
If e.Message = "GetDate" Then
    e.ReturnValue = Date.Now
End If
If e.Message = "GetDatea" Then
    e.ReturnValue = Date.Now
End If

If e.Message = "GetWanIp" Then
    e.ReturnValue=QQserver.Users(e.UserName).WanIPAddress
End If

If e.Message = "GetLanIp" Then
    e.ReturnValue=QQserver.Users(e.UserName).LanIPAddress
End If
If e.Message = "GetIp" Then
    Dim wanip As String = QQserver.Users(e.UserName).WanIPAddress
    Dim lanip As String = QQserver.Users(e.UserName).LanIPAddress
    Dim wanip1() As String = wanip.Split(":")
    Dim lanip1() As String = lanip.Split(":")
    Dim wanip2 As String = wanip1(0)
    Dim lanip2 As String = lanip1(0)
    If Network.Ping(lanip2) = True Then
        lanip = lanip2
    Else
        lanip = wanip2  '如果局域网拼不能就直接取广域网IP
    End If
    Dim pcip As String = wanip2 & ":" & lanip  '取第二个值一般为局域网IP
    e.ReturnValue = pcip
End If

'收到消息记录消息
Dim dr As DataRow =  DataTables("服务器信息").AddNew
dr("发送者") = iif(e.UserName > "",e.UserName,"服务器")
dr("时间") = Date.Now()
dr("信息") = e.Message
dr("来源") = "服务器端"
dr.save

'自动编号参数传递类似于(:A订单表:DH1501A:)

Dim msg As String = e.Message
If msg.StartsWith(":A") AndAlso msg.EndsWith("A:") Then
    Dim id As Integer
    msg = msg.SubString(2, msg.Length - 4)
    Dim pts() As String = msg.Split(":")
    Dim dra As DataRow
    dra = DataTables("编号").Find("[表名] = '" & pts(0) & "' And [前缀] = '" & pts(1) & "'")
    If dra IsNot Nothing Then
        id= dra("顺序号") + 1
        dra("顺序号") =id
        dra.save
    Else
        id = 1
        Dim dd As DataRow = DataTables("编号").AddNew()
        dd("表名") = pts(0)
        dd("前缀") = pts(1)
        dd("顺序号") = 1
        dd.save
    End If    
    e.ReturnValue = id
End If

'独占式编辑
Dim msg1 As String = e.Message
If msg1.StartsWith("?#") AndAlso msg1.EndsWith("#?") Then '收到请求编辑信号
    Dim Key As String = msg1.SubString(2,msg1.Length - 4)
    If tbrk.Containskey(Key) = False Then '如果无人编辑此行
        tbrk.Add(Key,e.UserName) '登记申请者为此行的编辑者
        e.ReturnValue = "OK" '通知申请者可以编辑
    ElseIf tbrk(Key) = e.UserName Then '如果申请者就是之前登记的编辑者
        e.ReturnValue = "OK" '通知申请者可以编辑
    Else '如果之前登记的编辑者为其他人
        e.ReturnValue = tbrk(Key) & "正在编辑此行!" '告知申请者是谁在编辑此行
    End If
ElseIf msg1.StartsWith("!#") AndAlso msg1.EndsWith("#!") Then '收到结束编辑信号
    Dim Key As String = msg1.SubString(2,msg1.Length - 4)
    If tbrk.Containskey(Key)  Then
        tbrk.Remove(Key) '从集合中移除此行的编辑登记
    End If
End If


[此贴子已经被作者于2016/1/22 18:28:33编辑过]

 回到顶部