MessageChannel和WebSockets之间的区别?

时间:2015-04-14 06:29:56

标签: html5 websocket

我无法弄清楚MessageChannel和WebSockets之间有什么区别?

我需要以下要求:

  • 最小化延迟
  • 全双工
  • 最小标头数据长度

这两项要求都满足吗?哪个更好?

1 个答案:

答案 0 :(得分:16)

HTML5 Web Messaging API可用于在浏览器中加载的独立代码段之间进行通信(规范称它们为“浏览上下文”)。例如,如果您的页面包含<iframe>,并且您希望在其与外部代码之间进行安全通信,则可以使用Web Messaging。考虑来自Opera开发门户的this explanation

  

频道消息传递对于跨越通信特别有用   多个起源。请考虑以下情形。我们有一份文件   在http://socialsite.example包含来自的内容   http://games.example嵌入在一个iframe中,内容来自   http://addressbook.example在另一个。{/ p>      

现在让我们说我们想要   从我们的地址簿网站向我们的游戏网站发送消息。我们可以   使用社交网站作为代理。然而,这意味着地址簿   获得与社交网站相同的信任级别。我们的社交网站   要么必须信任每个请求,要么为我们过滤它们。

     

有了频道   但是,消息传递http://addressbook.example和   http://games.example可以直接沟通。

Web Sockets API可用于在浏览器中加载的代码与服务器之间进行通信。所以它有一个完全不同的目的。由于您提到了低延迟和“全双工”的要求,我假设您的意思是客户端 - 服务器通信,因此您正在寻找Web套接字。