MessageChannel和WebSockets之间的区别?

kol*_*lek 11 html5 websocket

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

我需要以下要求:

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

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

kam*_*uel 19

HTML5 Web Messaging API可用于在浏览器中加载的独立代码段之间进行通信(规范称它们为"浏览上下文").例如,如果您的页面包含<iframe>,并且您希望在其与外部代码之间进行安全通信,则可以使用Web Messaging.从Opera dev门户网站考虑这个解释:

频道消息传递对于跨多个来源的通信特别有用.请考虑以下情形.我们有一个文件的http://socialsite.example含内容 的http://games.example嵌入一个iframe和内容从 //addressbook.example:HTTP在另一个.

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

但是,通过频道消息传递,http://addressbook.examplehttp://games.example可以直接通信.

Web套接字API可用于在浏览器中加载的代码与服务器之间进行通信.所以它有一个完全不同的目的.既然你提到了低延迟和"全双工"的要求,我认为你的意思是客户端 - 服务器通信,所以你正在寻找一个网络套接字.

  • 好消息是Firefox确实支持频道消息(MessageChannel). (2认同)