2

我希望有人可以帮助我。我正在编写一个软件,用户可以将信息填写到数据库中,但我想安装我在多台计算机上创建的相同软件。当其他用户将新信息插入软件并单击保存时,它必须显示在他/她的计算机上,同时显示在网络中的其他 PC 上。

我认为这是一个难以破解的问题,但我希望有人能帮助我。

问候

4

1 回答 1

1

有很多方法可以解决这个问题。我建议使用从插入应用程序接收通知的服务器端应用程序(例如安装在数据库服务器系统上)。然后,服务器端应用程序将向客户端发送 UDP 广播或使用 TCP 连接来通知它们。

然后客户端只需要在后台线程中监听服务器消息。消息将从服务器“推送”到客户端。

可以用作起点的一个示例是 Indy Telnet 客户端组件,它具有用于服务器消息的侦听器线程。您不必为传入连接打开客户端防火墙以这种方式工作。

也有完整的消息传递解决方案可用,但也许它们会满足您的要求。如果你喜欢,我可以提供一些链接。

我不会推荐

  • 数据库轮询(太昂贵且不灵活)
  • 数据库事件(在服务器进程中运行,可能会阻塞操作或崩溃)

可用于此消息传递系统的标准是WebSocket。客户端和服务器端有商业和开源的 Delphi 实现。

于 2012-10-17T09:07:55.133 回答