是否有可能创建一个网络应用程序,借助一个中央服务器,可能造成直接的其它用户的连接的相同的网络应用程序?我想象一个进程类似于UDP孔冲。

我读过有关新的web sockets API在HTML5,但它的出现必须发起连接有WS兼容的服务器之前的全面双重连接,可以开始。我想用户关于一个过程,使之间的直接连接客户,有一个服务器获得参与 在最初的握手。

注:Java小不计。我很感兴趣,只是在标准的浏览器的技术。

有帮助吗?

解决方案

而不是聪明的猜测,这是一个明智的回答:

HTML5的计划允许对等的连接从javascript,但这些联系将不会原TCP。

完整的规格,可以发现在 http://dev.w3.org/html5/websockets/

jrh

编辑:具体参照对等的连接,查阅这些链接:

其重要的是要注意的功能仍然正在谈判之中。这将是好的,能够创建"地方聊天"网络应用程序:)

jrh

其他提示

更新10/17/2012: 这一功能,现在存在铬稳定v22。为了使用这种功能在铬,必须使两个标志,在铬://标记:

  • 启用媒体流
  • 使PeerConnection

然后你可以参观 AppRTC演示网页 尝试演示。看看 Web fonts运行的演示 页面更详细的说明设定了浏览器的使用对等的功能和启用的设备捕获。


更新: 工程师在爱立信实验室有一个概念证明在一个其建立,并 HTML5等对话的视频.

他们有示威游行自己的博客的技术行动,以及图表和说明在技术如何将工作。

他们正在努力让这种稳定并致力于其储存库。

是的,最后。

在撰写本文时(2017年),WebRTC现在是大多数现代浏览器的标准组成部分(约占使用中的70%),并允许多媒体流,点对点和打孔。

可以在 html5rocks.com找到WebRTC的文档,示例代码和实时示例。

根据 caniuse.com html5rocks.com ,以下浏览器支持WebRTC:

完全支持:Edge 14,Firefox 22,Firefox Android 55
部分支持: Android浏览器56,Chrome 20,Chrome Android 29,Edge 12,Firefox 17,Opera 18,Opera Android 20,Opera Mobile 12,UC浏览器Android 11.4
未来支持(2017年第3季度):适用于iOS 11的Chrome,适用于iOS 11和OS X 10.11的Safari 11
不支持:IE,IE Mobile,Opera Mini

WebRTC的饱和率在Apple设备上受到限制,因为Safari 11尚未发布,需要iOS 11或OS X 10.11。虽然从过去的升级趋势预测,到2018年,大约75%的iOS设备应该可以使用WebRTC,到2020年将提供100%。

为什么这会很棘手有很多原因:

  1. 防火墙(甚至只是普通的NAT)会在比HTTP更低的协议层上使这种连接变得困难。通过我的IT安全帽,这似乎是一种在机器上打开任意端口的好方法,只需访问一个网站 - 因此它几乎可以被所有公司IT系统主动阻止。
  2. HTTP本质上是一种客户端 - 服务器协议。虽然使用长轮询(以及其他几种技术)模拟双工通信相当容易,但效率并不高。
  3. 这会为XSS攻击打开一个大洞。
  4. WebSockets旨在解决第二个问题,但(故意,我希望)不是其他两个问题。当他们谈论HTML5规范中的点对点时,他们谈论的是服务器和客户端之间的全双工通信,而不是一个客户端与另一个客户端之间的全双工通信。

    但是,在websockets上实现适当的网络堆栈会很简单 - 条件是所有通信仍然必须通过服务器完成。我已经看到这使用长轮询完成(我的一个朋友在Uni使用长轮询写了一个完整的TCP / IP堆栈)。

我的第二个harshath.jr:你可以很好地将服务器充当目录(暴露每个连接代理的“起源”;来源是方案+主机+端口,如 draft-abarth-origin ,该方案是”ws“或”wss“)。然后,您可以启动对等WebSocket连接;由于 SOP 正在进行中。 org / TR / cors /“rel =”nofollow noreferrer“> CORS 。当然,这意味着每个代理(即浏览器)都必须嵌入自己的WebSocket服务器(à la Opera Unite)。

同时,以XMPP / IRC /等方式进行:没有点对点连接,但是WebSocket连接到中央服务器(或网络!)以将消息传递给连接的代理(最终使用一些特定的WebSocket“子协议”)

编辑:请注意,所有这些实际上都超出了HTML5的范围(所有这些都曾经是HTML5的一部分,但已被拆分为他们自己的规范)

Web套接字的整体思想是解决防火墙和代理的问题 http://www.kaazing.org/confluence/display/KAAZING/What+is+an+HTML+5+WebSocket

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top