Answers:
代替明智的猜测,这是一个有根据的答案:
HTML 5计划允许来自javascript的对等连接,但是这些连接将不是RAW TCP。
完整的规范可以在http://dev.w3.org/html5/websockets/中找到
r
编辑:具体参考对等连接,请检查以下链接:
重要的是要注意,功能仍在协商中。能够创建“本地聊天”网络应用程序将非常高兴:)
r
2012年10月17日更新: Chrome Stable v22现在具有此功能。为了在Chrome中使用此功能,必须在chrome:// flags中启用两个标志:
然后,您可以访问AppRTC演示页面尝试演示。有关设置Chrome浏览器以使用对等功能和启用设备捕获的更多详细说明,请参见WebRTC-运行演示页面。
更新: Ericcson Labs的工程师在WebKit构建中进行了概念验证,该构建完成HTML5对等会话视频。
他们在博客中演示了该技术的实际应用,以及有关该技术如何工作的图表和说明。
他们正在努力使其稳定并致力于WebKit存储库。
截至撰写本文(2017)时,WebRTC现在已成为大多数现代浏览器的标准部分(约占所用浏览器的70%),并允许进行多媒体流,对等和打孔。
可以在html5rocks.com上找到WebRTC的文档,示例代码和实时示例。
根据caniuse.com和html5rocks.com,以下浏览器支持WebRTC:
全面支持: Edge 14,Firefox 22,Firefox Android 55
部分支持: Android Browser 56,Chrome 20,Chrome Android 29,Edge 12,Firefox 17,Opera 18,Opera Android 20,Opera Mobile 12,UC Browser Android 11.4
将来的支持( 2017年第三季度): Chrome for iOS 11,iOS 11的Safari 11和OS X 10.11
不支持: IE,IE Mobile,Opera Mini
WebRTC的饱和率在Apple设备上受到限制,因为Safari 11尚未发布,并且需要iOS 11或OS X 10.11。尽管根据过去的升级趋势进行了预测,但到2018年,WebRTC将在约75%的iOS设备上可用,到2020年将达到100%。
造成棘手的原因有很多:
WebSockets旨在解决这些问题中的第二个问题,但是(我有意为之)(而不是其他两个问题)。当他们谈论HTML5规范中的对等时,他们谈论的是服务器与客户端之间的全双工通信,而不是一个客户端与另一个客户端之间的全双工通信。
但是,在websocket的顶部实现适当的网络堆栈很简单-前提是仍然必须通过服务器完成所有通信。我已经看到使用长轮询完成此操作(Uni的一个朋友使用长轮询编写了完整的TCP / IP堆栈)。
我的第二个athathath.jr:您很可能让服务器充当目录(公开每个已连接代理的“源”;如draft-abarth-origin一样,源为scheme + host + port ,方案为“ ws”或“ wss”)。然后,您可以启动对等WebSocket连接。感谢CORS,SOP得以通过。当然,这意味着每个代理(即浏览器)都必须嵌入自己的WebSocket服务器(如Opera Unite)。
同时,以XMPP / IRC / etc。方式执行此操作:不进行对等连接,而是将WebSocket连接到中央服务器(或网络!),以将消息传递给连接的代理(最终使用某些特定的WebSocket“子协议”)
编辑:请注意,所有这些实际上都超出了HTML5的范围(所有这些内容曾经是HTML5的一部分,但已被拆分成各自的规范)
Web套接字的全部思想是解决防火墙和代理的问题http://www.kaazing.org/confluence/display/KAAZING/What+is+an+HTML+5+WebSocket