首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用实际IP和服务器端口连接到多播服务器

使用实际IP和服务器端口连接到多播服务器
EN

Stack Overflow用户
提问于 2011-06-07 05:18:07
回答 3查看 3K关注 0票数 1

我有一个多播服务器,它可以在一些端口的IP 233.1.2.8上进行多播。

我需要直接连接到那个服务器,使用它的实际IP,不想使用广播。我想得到它在特定端口上发送的实际数据,比如说

代码语言:javascript
运行
复制
Multicast Ip  233.1.2.8 port 32334 and 35245
Actual IP 198.122.55.191 port 35366

所以我想读一下35366的数据

我可以在CommView.exe中看到这些数据,但是如果我试图连接它,但是没有数据,谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-06-17 14:07:07

你可能想重新考虑你的问题。IP数据包有一个源地址和目的地址以及端口,因此让我们总结一下:

您正在寻找具有源端口35366.

  • Multicast地址233.1.2.8.

  • Destination端口32334或32335的多播数据包。

您必须打开两个套接字,一个侦听端口32334和一个到32335,对于每个套接字,您将不得不到多播地址233.1.2.8。这将从任何主机获得数据包流,现在您可以选择:

198.122.55.191.

  • Use

  • 使用connect()限制来自198.122.55.191.

recvmsg()recvfrom()的数据包读取每个数据包的源IP地址,并过滤application.

  • Use源特定-多播(SSM)内的流,并从198.122.55.191.

订阅多播地址233.1.2.8。

最后一个选项通常需要启用IGMPv3的网络,并且限制在232.0.0.0/8地址。

票数 1
EN

Stack Overflow用户

发布于 2011-06-07 09:02:03

根据定义,组播是单向的:服务器向一个组发送数据,然后您订阅它。

连接到服务器不能通过UDP完成,它需要一个TCP服务器实际在那里并监听该特定端口上的传入连接。该端口用于发送多播数据包这一事实并不意味着也有人在监听它。

如果您想读取从(一个特定端口)发送的数据--那么您需要订阅所有组,并分析UDP数据包(如果您有几台服务器发送,则分析IP帧,以了解原始IP),以查看它们来自何处,并筛选出来自您想要的来源的数据包。

票数 0
EN

Stack Overflow用户

发布于 2011-12-13 10:35:11

你可以看看这个网站。它有一个例子,也是http://tack.ch/multicast/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6260866

复制
相关文章

相似问题

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