云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

百度云_稳定的云服务器_企业级

小七 141 0

Websocket、WebRTC和实时视频聊天(Bob和Alice!)

一种鲜为人知的用于实时聊天和视频聊天的网络技术——WebRTC——实际上非常强大,而且还没有得到充分的重视。WebRTC有很多功能,但可以将其视为允许点对点视频聊天(当然还有比这更酷但同样重要的事情:如语音、文本、文件传输)从*浏览器到浏览器*(点对点-还记得吗?)。  工作原理:WebRTC的工作原理是使用STUN/ICE协议/技术来发现有效的公共ip,然后允许入站数据包,即使浏览器在NAT防火墙后面(与Skype这样的东西没什么不同)。图片有助于解释:Bob和Alice希望视频聊天-他们使用基于Websocket的中央应用程序来协调他们的聊天-然后当视频聊天开始时,数据直接从Bob流向Alice,反之亦然-但是如何做到呢?NAT和防火墙通常只允许出站数据,对吗?STUN/ICE技术的一部分是使用中间服务来查找Bob和Alice的流量来自的IP-这是他们的"有效IP"-可以用来在他们之间直接对话:可以这样想:Alice开始与Bob的有效公共IP对话。这通常行不通,但同时,Bob已经开始与Alice的有效IP进行通信-这意味着Bob*希望*数据来自Alice(就防火墙/NAT而言-这都是出站连接和请求/响应)-Alice希望数据来自Bob(响应她的出站连接)。Google Hangouts在理论上也使用了这一点,这给了你最低的延迟点对点-你可以体验这一点。另一个关键的部分是中间有一个代理服务来协调会话和代理连接——这就是WebRTC的目的——以及一个漂亮的简单的JS/HTML5API——这需要Websocket和"最新"浏览器(在撰写本文时,Firefox和Chrome)。多亏了Nginx websocket支持所做的出色工作,CloudBees已经能够运行Websockets—您可以自己尝试一下:我们的合作伙伴Telestax拥有WebRTC支持,并将其构建到Cloudbees的ClickStack中。您可以在这里阅读更多信息:。还有一个WebRTC clickstart,可以从一个简单的视频聊天示例开始:https://github.com/CloudBees-community/webrtc.io-clickstart:     在这里,我正在和一个朋友聊天,他当时在旧金山,那里离我是太平洋的另一边。这个聊天速度很快,感觉非常实时,没有真正明显的全球延迟-这是常见的,当有太多的中间服务器。WebRTC支持更多的功能-有些人已经完成了从浏览器到浏览器的文件传输-看起来它可能是一个很好的添加到许多涉及到人们与其他人交谈的web应用程序!