gpt4 book ai didi

c++ - 使用服务器的实际 IP 和端口连接到多播服务器

转载 作者:太空宇宙 更新时间:2023-11-04 12:18:49 26 4
gpt4 key购买 nike

我有一个多播服务器,它在某些端口上的 IP 233.1.2.8 上进行多播
我需要直接使用其实际 IP 连接到该服务器,不想使用广播。我想获取它在特定端口上发送的实际数据,比如说

Multicast Ip  233.1.2.8 port 32334 and 35245
Actual IP 198.122.55.191 port 35366

所以我想读取35366

的数据

我可以在 CommView.exe 中看到数据,但是如果我尝试连接它就无法读取它,但没有数据谢谢

最佳答案

您可能需要重新考虑您的问题。 IP 数据包具有源地址和目标地址以及端口,所以让我们总结一下:

  1. 您正在寻找源端口为 35366 的多播数据包。
  2. 多播地址 233.1.2.8。
  3. 目标端口 32334 或 32335。

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

  1. 使用 connect() 限制来自 198.122.55.191 的数据包。
  2. 使用 recvmsg()recvfrom() 读取带有源 IP 地址的每个数据包并在您的应用程序中过滤流。
  3. 使用源特定多播 (SSM) 并从 198.122.55.191 订阅多播地址 233.1.2.8。

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

关于c++ - 使用服务器的实际 IP 和端口连接到多播服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6260866/

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