以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- QQClient之间如何能做到SendWait的功能? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136340) |
-- 作者:ap9709130 -- 发布时间:2019/6/11 16:09:00 -- QQClient之间如何能做到SendWait的功能? 老师 如题,希望官方能把这个功能加上去,如果不行,我们自己怎么样可以实现? 因为现在有些特定的功能都是需要确认返回的。多谢!
|
-- 作者:有点甜 -- 发布时间:2019/6/11 16:44:00 --
只能变通处理。
方法一:通过服务器端转发信息。
方法二:给对方发信息,对方回复信息。然后你发送信息后,等候几秒检测是否发回信息,如果发回退出,如果超时就是没有发送成功。
|
-- 作者:ap9709130 -- 发布时间:2019/6/11 16:53:00 -- 老师 方法二 怎么实现在等的过程中 还能知道对方是否有发过来相关的信息? 如果成功就进行下面的代码,如果超过时间 就跟出代码?
|
-- 作者:ap9709130 -- 发布时间:2019/6/11 16:57:00 -- 老师 foxtable 不是单线程的吗? 在等待的过程中还能接受QQClient的信息吗?
|
-- 作者:ap9709130 -- 发布时间:2019/6/11 17:40:00 -- 官方真的可以考虑QQClient 之间加个SendWait的功能,因为现在我们都是把服务器端和网络服务器都二合一了。如果QQClient 比较多,都通过服务器端转,会造成服务器端的堵塞。 同时浪费了QQClient端的功能。
|
-- 作者:ap9709130 -- 发布时间:2019/6/12 15:36:00 -- 有点甜老师 系统等候几秒还要保证QQClient可以接受信息,要怎么写代码? 我用Do...while 不行. QQClient不可以接受信息.多谢!
|
-- 作者:有点甜 -- 发布时间:2019/6/12 15:38:00 -- 试试
Dim sdt As Date = Date.Now msgbox("10秒后执行") |
-- 作者:ap9709130 -- 发布时间: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 今天测试了一下,很好用.希望大家能用上.同时感谢有点甜老师.多谢!
|