【发布时间】:2015-08-29 16:48:03
【问题描述】:
我在 C 中有一个多播侦听器正在侦听 229.0.0.1,但是正在接受发往 224.0.0.1 的 UDP 套接字。
有人可以解释为什么会这样吗?
进程绑定(服务器)
到INADDR_ANY,组播结构体指定为229.0.0.1;不应该
我的“服务器”进程丢弃未选择用于其他任何内容的 UDP 数据报
比明确配置什么?
【问题讨论】:
-
您可能应该在此处添加(部分)代码,以便每个人都更容易找到解决方案。
-
如果你从
bind(2)到INADDR_ANY,你会得到任何数据包定向到任何本地主机地址(任何普通 IP 地址和任何多播)如果你想要它只 要将流量定向到主机地址之一(在本例中为多播),您必须bind()您的套接字 到该地址。 -
UDP 不接受套接字。它读取数据。