以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- OPENQQ服务器报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78786) |
-- 作者:黑苹果 -- 发布时间:2015/12/17 10:29:00 -- OPENQQ服务器报错 相关函数代码为: 目前设置是客户端登陆时 向服务器发送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编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/12/17 10:30:00 -- TryConnectHost 再 ping
http://www.foxtable.com/help/topics/2709.htm
|