【问题标题】:UDP Broadcast Traffic Not Received未收到 UDP 广播流量
【发布时间】:2012-06-28 12:20:04
【问题描述】:

这可能更像是一个网络问题而不是 C++ 问题,但我有一个 iOS 应用程序通过 UDP 与联网 PC 通信。两者都使用我用 C 编写的一些 UDP 套接字类。这是我的症状:

  • 当 PC 应用程序发送广播流量时,PC 本身的 Wireshark 会看到它,iOS 应用程序也是如此。同一网络上的第三台 PC 也通过 Wireshark 看到数据包。
  • 当 iOS 应用程序发送广播流量时,运行该应用程序的 PC 不会甚至在 Wireshark 中看到数据包。但是,第三台 PC可以

附加信息:

  • 有问题的 PC 运行的是 Windows 7。
  • 它有一个用于摄像头的以太网端口。
  • 它有一个无线网卡,它既连接到网络,又使用一个名为 Connectify 的小应用程序来单独创建自己的无线网络。我正在尝试通过 Connectify 网络发送数据。但是,我尝试通过另一个非 Connectify 无线网络发送数据,但仍然失败(尽管网络上的第三台 PC 仍然可以看到流量)。 UPDATE 忽略最后一句话。这是错误的。如果我更改无线网络,它就可以工作。

我尝试过的:

  • 我首先假设这是一个路由表问题,因此我为与该接口相关的任何条目添加了具有低度量值的持久路由。路由表在这里:
IPv4 路由表 ==================================================== ========================== 活动路线: 网络目标网络掩码网关接口指标 0.0.0.0 0.0.0.0 10.1.11.1 10.1.11.169 25 10.1.11.0 255.255.255.0 在线 10.1.11.169 281 10.1.11.169 255.255.255.255 链路上 10.1.11.169 281 10.1.11.255 255.255.255.255 在线 10.1.11.169 281 127.0.0.0 255.0.0.0 在线 127.0.0.1 306 127.0.0.1 255.255.255.255 在线链接 127.0.0.1 306 127.255.255.255 255.255.255.255 在线 127.0.0.1 306 192.168.190.0 255.255.255.0 链接上 192.168.190.1 6 192.168.190.1 255.255.255.255 在链路上 192.168.190.1 6 192.168.190.255 255.255.255.255 在链路上 192.168.190.1 6 224.0.0.0 240.0.0.0 在线 127.0.0.1 306 224.0.0.0 240.0.0.0 在线 10.1.11.169 281 224.0.0.0 240.0.0.0 在线 192.168.190.1 257 255.255.255.255 255.255.255.255 在链路上 192.168.190.1 6 ==================================================== ========================== 持久路由: 网络地址 网络掩码 网关地址 度量 255.255.255.255 255.255.255.255 192.168.190.1 5 192.168.190.0 255.255.255.0 192.168.190.1 5 192.168.190.1 255.255.255.255 192.168.190.1 5 192.168.190.255 255.255.255.255 192.168.190.1 5 ==================================================== ==========================
  • 然后我认为这个 Connectify 程序发生了一些奇怪的事情,所以我尝试通过 10.1.11 网络进行广播(在撤消我的持久路由之后)。如上所述,这成功了。

有什么想法吗?我难住了。我想这可能是网卡的限制,但是为什么它可以看到自己的广播数据包出去呢?会不会是 iOS 输出的数据包大小对于 PC 网卡来说太大了?

【问题讨论】:

  • 如果 PC2 看到来自 iOS 设备的 UDP 广播但没有看到 PC1,则问题似乎出在 PC2 上。显然,iOS 设备正在生成有效的 UDP 流量,因此这可能不是网络库问题)。 Connectify 似乎是最有可能的罪魁祸首。在这种情况下,重新标记您的问题或向 Connectify 开发人员寻求建议似乎是最明智的尝试。
  • 只是一个想法......你的电脑上有防火墙吗? (有时与防病毒软件捆绑在一起)。防火墙往往对外部广播持怀疑态度。如果有,请尝试禁用它。

标签: c++ networking network-programming udp


【解决方案1】:

您的问题似乎与connectify有关,但不一定。

我建议:

只是想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    相关资源
    最近更新 更多