多个用户通知系统

时间:2012-04-02 18:41:15

标签: delphi

我必须创建一个通知系统,它会提醒用户其他人做了什么。如果其中一个用户添加了一些订单,另一个应该将其视为警报或类似的东西。 所以,我的问题是,哪种方式最好这样做。我应该使用TTimer并每隔5分钟询问一次,或者您知道更好的想法吗?

抱歉英语极度不好......我来自波兰;)

3 个答案:

答案 0 :(得分:2)

通知是发布/订阅通信模型的用例。也许你可以在你的应用程序中添加一个面向消息的中间件,并实现类似于“聊天”系统的东西。这样的系统可以使用中央服务器将消息(文档,命令......)转发到所有连接的客户端。对于技术背景信息,术语message oriented middleware是一个起点。

通知的现有“消息代理”(其中许多是开源代码)的优点是:

  • 他们可以存储消息,直到接收者在线(可靠传送),并且 支持消息确认/交易
  • 跨语言和跨平台操作
  • 速度非常快(比数据库查询快数百或数千倍)

由于它们的通用设计,它们可以解决许多类似的问题,这些问题比使用数据库更难实现(或消耗更多资源)。它们可以使分布式系统的设计更加容易。对于高级理解和实用指南,Gregor Hohpe的书籍和网站Patterns and Best Practices for Enterprise Integration是一个良好的开端。

答案 1 :(得分:1)

首先我认为你的英语很好:) 我使用Delphi 2007和Bold编写的多用户应用程序。一个功能是用户可以互相通知。 Bold有一个非常强大的内置更新机制。不幸的是,这些日子并不容易变大,因为它不是出售。您也可以尝试自己实现所需。尝试搜索Delphi observer pattern。 总结这种模式是关于列表中的寄存器观察者。当发生某些事情时,应通知观察者有关发起者通知列表中的所有观察者。

答案 2 :(得分:0)

如果您的用户位于同一本地网络上,则可以使用Mailslots使用推送通知。它将是即时的,轻量级的。