我在iOS设备上使用webrtc。 Webrtc打开4个到服务器的UDP连接。通过在服务器上进行网络跟踪,显然iOS设备可以同时使用其移动数据IP地址和其WiFi地址来进行这些连接,这对服务器来说是个问题,不承认这些来自同一客户。当所有四个UDP连接来自同一个源IP时,一切都很好。但是,当UDP连接在源IP地址之间拆分时,应用程序将失败。我没有能力重写服务器来处理这种奇怪的行为。
当两个连接都稳定时,iOS设备使用了多个网络接口;手机在一个地方,不会发生任何切换。我们已经测试了家庭(最小的其他流量/干扰)和企业WiFi连接。所有UDP连接都由Google的libjingle webrtc库同时启动。
有没有办法强制在iOS上使用相同的网络接口建立所有UDP连接?
多个源地址是iOS的一项功能,称为多路径或多宿主。 见iOS multipath TCP announcment。我假设这也用于UDP。