繁体   English   中英

WebRTC的Java信令服务器

[英]Java signaling server for webrtc

在以下文章中: WebRTC Cookbook文章

解释了如何实现Java信令服务器。

据说:

因此,两个客户端交换必要的数据(包括网络详细信息),然后建立直接的对等连接。 建立连接后,对等方不再使用服务器。

但是,查看代码,仍然需要服务器将通信中继到所有客户端(sendToAll方法)。

谁能解释我用这样的代码如何直接进行对等通信? 我仍然不知道2个(或更多)客户端如何通信p2p。

这意味着当p2p WebRTC连接建立并运行时,实际上并没有使用信令服务器。

虽然,信令服务器可以提供一些其他功能-例如广播文本聊天(当一个对等方可以将文本数据发送给所有其他对等方时)。 在那种情况下,您的应用程序仍然可以使用信令服务器在同级之间交换额外的数据,但是它不是WebRTC数据,而是仅对应用程序有意义的数据,而不对WebRTC堆栈有意义。

因此,在正常情况下,WebRTC堆栈在建立p2p连接后不使用信令(例如,实际上可以使用信令通道进行重新协商)。 但是,您的应用程序仍然完全可以自由使用信令通道来获取自己的额外数据。 实际上,这完全取决于您在应用程序和信令服务器中实现的逻辑。

信令服务器用于建立WebRTC对等连接。 对等连接是两对音频,视频和数据之间的直接连接。

通常,没有信令服务器就不可能建立WebRTC对等连接,因为大多数用户没有固定的IP地址,并且位于网络地址转换(NAT)系统和状态防火墙的后面。 信令服务器在两个用户之间中继消息,直到他们可以成功地使用例如STUN来发现他们的IP地址(如在Internet上看到)成功协商对等连接。

一旦建立对等连接,就不需要信令服务器。 但是,您可以设计一个系统,如果该系统更适合您的需求,则仍然可以通过信令通道发送数据。

WebRTC的信令部分未指定。 信令服务器需要提供一些方法供用户选择要与之通信的用户。

WebRTC具有点对点设计。 为了支持两个以上的对等点,每对对等点都需要建立一个对等点连接,或者系统需要一个媒体服务器来组合音频/视频流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM