1

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

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

附加信息:

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

我试过的:

  • 我首先假设这是一个路由表问题,因此我为与该接口相关的任何条目添加了具有低度量值的持久路由。路由表在这里:
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 网卡来说太大了?

4

1 回答 1

0

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

我会建议 :

只是想法。

于 2012-06-28T17:12:23.450 回答