gpt4 book ai didi

networking - 如何区分 UDP 广播和单播?

转载 作者:行者123 更新时间:2023-12-02 00:21:44 25 4
gpt4 key购买 nike

我有一个应用程序(用 C/C++ 编写),它通过 UDP 在本地网络中的许多 Windows 和 Linux 主机之间进行通信(通过 winsock/Linux-Sockets)。我只使用一个端口,因此每台主机上只使用一个套接字。有些消息是广播的,回复通常是单播的,但有些也是广播的。到目前为止一切正常,但是:

我如何确定我收到的 Paket(通过 recvfrom)是广播还是单播?

我找到的唯一解决方案是在有效载荷内发送此信息或使用不同的端口。两者都不是很好...

最佳答案

在 Linux 端你可以设置 PKT_INFO ip(7)带有 setsockopt(2) 的 socket 选项, 然后使用 recvmsg(2)获取UDP数据包的目的地址。

关于networking - 如何区分 UDP 广播和单播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667647/

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