关于消息推送

为方便大家理解消息推送的意义,我们先来一个现实生活的例子:
假定你早上6点必须起床,那么最好设置一个闹钟,在早上6点主动叫醒你。
早上6点闹钟响起,等于主动给你发送了一个消息:6点到了,该起床了。
这就是最简单的消息主动推送功能。
如果没有闹铃,躺在床上的你,需要不停地看时间,确认是否已经6点了,这就是被动查询。

我们在实际开发管理软件的时候,会遇到同样的问题,例如:
送货单由用户A开单,由用户B审核。
当A开送货单保存时,同时由系统自动发给B发一个消息:“用户A已新增送货单20151028001,请审核”。
B收到此消息后,点此消息,可以打开这张送货单,进行审核,审核后,反馈回给A一个消息:“送货单20151028001已由用户B审”

在没有消息推送功能的情况下,A只能将通知消息写入后台数据库,B要反复查询数据库,看看是否有新的通知消息,这就是被动查询。
在多用户环境下,如果用户查询数据库的时间间隔过短,会增加服务器负担,如果间隔时间过长,用户则无法及时收到通知。
而且反复查询数据库,系统可能会出现卡顿现象,导致用户体验不佳,在互联网环境下尤甚。

如果有了消息推送功能,A可以直接发一个消息给B,就像微信或手机短信一样,B能即时收到消息,并将处理结果用消息形式返回给A。
这样的设计,既不会增加服务器负担,也不会有任何的迟延,更不会出现卡顿现象。
所以一个开发工具,是否有消息推送功能,会给系统性能和用户体验带来非常大的影响。

Foxtable从2016版开始,开始内置消息推送功能,虽然有点迟,但终于有了。
从此,数据可以客户端和客户端之间,以及客户端和服务器之间实时传递,而这之前,数据只能被动地躺在数据库中等候查询。
从此,以前一些实现起来较为复杂的问题,例如多用户环境下的数据即时同步、复杂编号、流程设计、权限管理等等,实现起来将变得非常的轻松高效。
从此,Foxtable不再是一个单纯的客户端开发工具,现在我们可以用Foxtable开发服务端程序了。

两个消息推送工具

Foxtable用于消息推送的工具有两个,分别为OpenQQ和UDPClient。
OpenQQ整合度更高,功能更强,是Foxtable主要的消息推送工具。
UDPClient相对简单一些,主要用于和第三方软件进行通讯。

接下来我们会分别介绍这两个类。


本页地址:http://www.foxtable.com/webhelp/topics/2967.htm