我必须开发简单的p2p连接应用程序。
我有:
1)数据库服务器和简单代码服务器(php,nodejs或类似);
2)两个ios设备。
如何在设备之间连接p2p(用于流语音,文本和照片)?无法通过IP和随机端口连接,因为设备可能具有相同的IP
设备可以位于本地网络或不同国家/地区。设备可以使用Wi-Fi或3g / 4g互联网。设备可以驻留在路由器NAT后面。
我知道openpeer和其他SIP服务。但这是一个非常大而且过分的解决方案。 WebRTC无法在ios和webView中运行。多路连接框架仅限本地设备
我的问题:如何检测,唯一识别设备并连接他的?
我认为这是:
1)在启动应用程序并具有互联网(Wi-Fi或3g / 4g) - 应用程序向服务器发送消息
2)服务器从应用程序获取:IP,UUID或其他(我不知道哪些信息对于p2p连接是必要和充分的。)
3)服务器注册应用程序和设备在DB中并返回现在的在线设备列表
4)应用程序从其他设备的服务器列表中获取
5)用户选择其他设备并单击" connect"。
6)服务器向连接信息所需的两个设备发送(IP' s,UUID'等)。
7)设备开始连接p2p,不使用服务器接收和发送数据。
我看到这个arhitecture(openpeer)图片:。
这很好。我必须知道如何" finder"服务器检测设备以及连接需要和足够的数据?
对于我来说,使用第三方服务器进行连接是不可接受的。
请帮我找到解决方案。