如何在iOS 7中的MultipeerConnectivity框架中设置tcp_nodelay

时间:2013-10-24 11:20:33

标签: ios iphone objective-c ios7 multipeer-connectivity

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

还有其他方法可以将小消息传递给其他设备,延迟时间最短,最好小于100毫秒。

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

感谢高级。

2 个答案:

答案 0 :(得分:4)

是的,MultiPeer Framework中有一个选项要以不可靠模式发送数据。它会立即发送数据而不会有任何延迟。但是不能保证delievrey。

我希望它能起作用。

答案 1 :(得分:3)

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

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

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

优点:

  • 您的音频几乎会同时启动

<强>缺点:

  • 会有延迟(你需要一些时间〜等于ping)。