Delphi网络编程

标签 delphi network-programming udp

我有一个用 Delphi 2006 编写的经典客户端/服务器(胖客户端和数据库)程序。当客户端满足某些条件时,我需要非常快速地通知所有其他客户端。到目前为止,这是使用 UDP 广播完成的,但这不再可行,因为客户端现在从 LAN 外部连接,并且 UDP 广播仅限于本地网络。

我知道 Indy 库,但不太确定要使用哪些组件以及如何构建它。我猜我需要有一个客户端连接到的服务器来接收和分发消息......?有任何示例可以帮助我开始吗?

还有其他我应该考虑的组件集或技术吗?

最佳答案

简单的答案是 Delphi(和其他工具)中可用的标准协议(protocol)不允许反向通知。我在一个想要使用 SOAP 的项目中对此进行了研究。他们都假设客户端询问服务器,服务器响应,仅此而已。

对我来说,解决方案是 RemObjects SDK。这允许您向客户端发送通知,并且通知可以包含您喜欢的任何数据(就像客户端到服务器一样)。我自己使用 SuperTCP 连接,但它也适用于其他连接。它仍然可以为必须使用它的客户端提供 SOAP 接口(interface),但对于您可以同时控制客户端和服务器的情况,它的工作效果非常好。

关于Delphi网络编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58618/

相关文章:

delphi - OmniPascal 安装在 VSCode 中 - Delphi 文件扩展名损坏

java.net.BindException : Address already in use: Cannot bind

c++ - 如何检测 win32 上的数据卡连接和断开事件?

java - 如何在不使用选择器的情况下实现阻塞 DatagramChannel 的超时处理

C# UDP 监听器解除阻塞?或防止接收被卡住

python - TCP Hole Punching(绕过监听套接字)

delphi - 如何在 Delphi 代码中获取 Advantage Database Server 安装的许可证计数

c++ - delphi 代码编译成 obj 文件以便在 python 中使用

delphi - StringReplace 无法替换字符串的所有实例

c - 使用 UDP 协议(protocol)从服务器向多个客户端广播消息