以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]qq离线消息用代码如何收取?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76889)

--  作者:coch2004
--  发布时间:2015/11/6 23:23:00
--  [求助]qq离线消息用代码如何收取?
如上题: 张三用qqclient.Send("管理部.李四","呵呵",True)  当李四在线的时候,测试可以收到消息, 李四离线的时候,由张三发送后,再登录李四 李四就收取不到,请问如何解决?
--  作者:coch2004
--  发布时间:2015/11/7 9:19:00
--  
别沉了
--  作者:Hyphen
--  发布时间:2015/11/7 10:35:00
--  

测试没有问题,send方法发送消息后必须要用代码接收,就是ReceivedMessage事件

 

http://www.foxtable.com/help/topics/2997.htm

 


--  作者:coch2004
--  发布时间:2015/11/7 15:36:00
--  
别沉了呀!
--  作者:Hyphen
--  发布时间:2015/11/7 16:06:00
--  
看3楼,还有问题发测试例子上来
--  作者:大红袍
--  发布时间:2015/11/8 10:55:00
--  
以下是引用coch2004在2015/11/7 15:36:00的发言:
别沉了呀!

 

你是不是开了防火墙阻止了各种端口?离线发送需要随机分配一个端口的。


--  作者:coch2004
--  发布时间:2015/11/8 11:48:00
--  
大红袍, 我说一下原因.请您帮忙解决一下. 我测试过了, 找了一天才找到问题. 如果用本机 127.0.0.1 作为服务器, 离线消息能正常接收.但我用的是阿里云服务器.离线消息不能接收.但在线的时候用阿里云服务器可以接收消息. 请问如何解决???
看了一下,我现在的云服务器用的是 服务器安全狗 里面有防火墙功能,如何解决????
[此贴子已经被作者于2015/11/8 11:49:11编辑过]

--  作者:大红袍
--  发布时间:2015/11/8 12:10:00
--  

1、你测试从服务器直接给客户端发送信息,是否正常?在线的。

 

2、换一种思路吧,如果不在线,就给服务器发信息,服务器接到后,把数据保存在待发信息表。

 

Dim result = QQClient.Send("生产部.李桂兰", "12345678")
If result = False Then
    msgbox("不在线")
    QQClient.Send("生产部.李桂兰|12345678")
End If


--  作者:coch2004
--  发布时间:2015/11/8 12:12:00
--  
1,是正常的,因为我我测试过 qqclient.send("getday") 能正常从服务器返回服务器时间, 还有客户端在线 也会收到对方发送的消息.就是离线的时候不能接收离线消息
2,存入待发送消息表后,如何解决?
[此贴子已经被作者于2015/11/8 12:19:38编辑过]

--  作者:大红袍
--  发布时间:2015/11/8 12:31:00
--  
以下是引用coch2004在2015/11/8 12:12:00的发言:
1,是正常的,因为我我测试过 qqclient.send("getday") 能正常从服务器返回服务器时间, 还有客户端在线 也会收到对方发送的消息.就是离线的时候不能接收离线消息
2,存入待发送消息表后,如何解决?
[此贴子已经被作者于2015/11/8 12:19:38编辑过]

 

2、有用户登录的时候,服务器就给他发信息呗。