首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从接收到的组播报文中确定发送方的组播组和端口对

如何从接收到的组播报文中确定发送方的组播组和端口对
EN

Stack Overflow用户
提问于 2014-06-01 17:11:13
回答 1查看 57关注 0票数 1

我已经编写了一个在AIX机器上运行并从远程主机接收多播消息的服务(C++) (我的服务加入了一个预定义的多播组和端口对)。

最近,我被要求处理从不同主机接收的多播消息(在不同的多播组和端口上,在同一套接字上)。不过,我可以坚持在同一个港口。

问题是,从每个主机接收的消息必须以不同的方式处理。

如何区分这些消息?是否有可能从套接字/接收的消息中检索发送者的多播组和端口对?

EN

回答 1

Stack Overflow用户

发布于 2014-06-01 17:50:34

虽然您可以识别远程主机的地址(而不是多播组!)使用recvfrom();对侦听相同端口的不同主机执行不同的操作通常不是一个好主意。这违背了最小惊讶的原则。

因此,简短的答案是区分远程主机地址。

如果要区分同一端口上的组播组,则必须将多个套接字与组播组地址绑定。

代码如下所示:

代码语言:javascript
运行
复制
addr.set(239,0,0,1,8888);
udp.socket();
udp.joinmcast(&addr);
udp.bind(&addr);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23978309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档