gpt4 book ai didi

delphi - 向同一台计算机上的多个客户端发送多播消息

转载 作者:行者123 更新时间:2023-12-03 14:41:17 25 4
gpt4 key购买 nike

我正在尝试编写一个服务器/服务,每秒左右在局域网上广播一条消息,有点像服务发现。

The message needs to be received by multiple client programs that could be on the same machine or different machines. But there could be more than one program on each machine running at the same time.

我使用的是 delphi7,以及 indy 9.0.18

我遇到的问题是我是否应该使用 UDP(TIdUDPClient/Server) 或 IP MultiCast (TIdIPMCastClient/Server) 或者甚至可能......

我已经设法让它与每台机器一个客户端的 IP 多播一起工作,但即使在多次尝试不同的绑定(bind)..最大/最小端口等之后,我似乎找不到解决方案。

最佳答案

我认为您正在寻找 SO_REUSEADDR套接字选项。在套接字上设置该选项允许多个套接字监听同一端口。对于多播,Windows 保证消息将传递到所有套接字(否则消息只会随机地传递到一个套接字)。

您通常通过调用setsockopt来完成此操作,但我不是Delphi开发人员,所以我不确定您的API是什么样的。这个question似乎展示了有人在 Delphi 中做类似事情的例子。

关于delphi - 向同一台计算机上的多个客户端发送多播消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2604826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com