WebRTC本地信令服务器

6
我正在为基于Android WebRTC的项目寻找一个信令服务器解决方案。双方客户端均为Android设备,并且距离彼此接近,即在100码或更短距离内。我希望这个解决方案能够在不使用公共信令服务器的情况下工作。我宁愿让其中一个客户机也充当服务器。
那么,我的问题是: 1.我该如何实现其中一个设备作为服务器?例如:我能否将其中一个设备设置成热点或使用Wifi Direct? 2.如果我能够实现第一点,那么在Android上运行信令服务器的好方法是什么?我能否在Android上运行Node.js服务器之类的服务器?

您是否想要在没有网络的情况下进行通话? - Haven
@Haven - 是的。我不需要通过网络进行操作。 - Sofia Clover
2个回答

4

信令服务器是两个参与方之间交换消息的一种简单方式。在WebRTC中,这些消息是offer/answer和ICE候选项。

您可以使用任何类型的服务器来执行此操作,甚至可以手动执行 :)

您也可以使用其中一个客户端作为服务器,但是那么您就必须以某种方式将IP地址通知给另一个客户端。也许可以使用Wi-Fi直连并通过编程方式获取它。


谢谢Adrian。那么,您的意思是在这种情况下我甚至不需要服务器吗?也就是说,我可以只使用WebRTC和本地热点上的直接Web套接字吗?这样可以将过程保持在我的应用程序中? - Sofia Clover
由于我知道客户端的IP地址,所以不需要遍历NAT。因此想知道是否可以在不需要TURN、STUN和ICE候选项的情况下完成。 - Sofia Clover
2
你需要一个服务器,因为你需要以某种方式自动地传输消息。但是服务器和客户端可以在同一个应用程序中。 - Adrian Ber
2
您不需要STUN/TURN服务器,但是需要进行ICE过程。 - Adrian Ber

3
使用WebRTC,信令服务器只是帮助您传输消息、交换信息(SDP包(createOffer/answer),交换候选者等)的方式。
例如:您可以使用GCM(免费)作为信令服务器,或者使用Nodejs与socket.io、websocket、XMPP等。您需要做的唯一事情就是在两个对等方之间传递消息。
您可以参考这个教程:http://www.html5rocks.com/en/tutorials/webrtc/basics/

谢谢@Khoatd,我理解信令的目的。我的问题更多是关于在我的场景中执行信令的良好机制 - 2个没有互联网连接的Android客户端,假设其中一个充当服务器。 - Sofia Clover

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接