2

我正在使用 iOS 7 的 MultipeerConnectivity 框架在多个设备之间传递消息。我可以在 MultipeerConnectivity 框架中设置 TCP_NODELAY 以使消息以最小的延迟传递。

有没有其他方法可以将一条小消息以最小的延迟传递到其他设备,最好小于 100 毫秒。

我想要最小的延迟,因为我必须同时在两个设备中启动音频。如果延迟超过 100 毫秒,则可以观察到两个音频的延迟。

先谢谢了。

4

2 回答 2

4

是的,MultiPeer 框架中有一个选项可以使用非可靠模式发送数据。它将立即发送数据,没有任何延迟。但不能保证交付。

我希望它应该工作。

于 2013-10-24T11:52:51.617 回答
3

您必须同时启动音频(例如 0.2 秒),总会有一些延迟,因此您应该在两台设备上同步时钟。

--------------------------------------------> Device #1
  |     /\                |              |
  | time |      then send |       audio  |
  | sync |      start     |       starts |
  |      |      time      |       here   |
  \/     |                \/             |
--------------------------------------------> Device #2

在这种情况下,它们将同时启动音频。不要忘记在同步时间时保存您的 ping(开始音频的时间必须大于 ping)。

优点:

  • 您的音频将几乎同时开始

缺点:

  • 会有延迟(你需要一些时间〜等于 ping)。
于 2014-04-09T07:33:03.120 回答