Foxtable(狐表)用户栏目专家坐堂 → QQClient之间如何能做到SendWait的功能?


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

主题:QQClient之间如何能做到SendWait的功能?

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
QQClient之间如何能做到SendWait的功能?  发帖心情 Post By:2019/6/11 16:09:00 [只看该作者]

老师

如题,希望官方能把这个功能加上去,如果不行,我们自己怎么样可以实现?

因为现在有些特定的功能都是需要确认返回的。多谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/11 16:44:00 [只看该作者]

 

只能变通处理。

 

方法一:通过服务器端转发信息。

 

方法二:给对方发信息,对方回复信息。然后你发送信息后,等候几秒检测是否发回信息,如果发回退出,如果超时就是没有发送成功。

 

 


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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/6/11 16:53:00 [只看该作者]

 老师

方法二 怎么实现在等的过程中 还能知道对方是否有发过来相关的信息? 如果成功就进行下面的代码,如果超过时间 就跟出代码?

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/6/11 16:57:00 [只看该作者]

老师

foxtable 不是单线程的吗? 在等待的过程中还能接受QQClient的信息吗?

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/6/11 17:40:00 [只看该作者]

 官方真的可以考虑QQClient 之间加个SendWait的功能,因为现在我们都是把服务器端和网络服务器都二合一了。如果QQClient 比较多,都通过服务器端转,会造成服务器端的堵塞。

同时浪费了QQClient端的功能。

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/6/12 15:36:00 [只看该作者]

 有点甜老师

系统等候几秒还要保证QQClient可以接受信息,要怎么写代码?
我用Do...while 不行. QQClient不可以接受信息.多谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/12 15:38:00 [只看该作者]

试试

 

Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(10)
    Application.DoEvents
End While

msgbox("10秒后执行")


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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2019/6/12 15:55:00 [只看该作者]

 有点甜老师

可以了.多谢! 我自己做了个函数.代码如下:
Vars("dyhf") 变量用来接受返回的信息
ReceivedMessage事件中设置好规格
我以返回信息为 "打印" 举例.
等待时间 为 10秒

Vars("dyhf") = ""  /发信息这前把返回值清空
 QQClient.Send("对象","打印|返回对象")
  Dim st As Date = Date.now
   Do
       Application.DoEvents
  Loop While (Date.Now - st).TotalSeconds <= 10 And Vars("dyhf") = ""
   If Vars("dyhf") = "打印" Then
    MessageBox.show("打印成功!")                               
    Else
      MessageBox.show("打印主机没有反应!")                             
    End If                                                                                                                 

今天测试了一下,很好用.希望大家能用上.同时感谢有点甜老师.多谢!

 回到顶部