【问题标题】:Comparison between Cross Document Messaging and WebSockets跨文档消息传递和 WebSockets 的比较
【发布时间】:2016-12-03 14:24:24
【问题描述】:

如果我理解正确的话,Cross Document Messaging API 允许您在网页之间实时发送和接收消息。

而 WebSocket 允许您在网站和服务器之间实时发送和接收对象。

可以一个替代另一个来实时构建 Web 应用程序吗?

如果不是,哪种机制更好,为什么?

【问题讨论】:

  • 什么是“跨文档消息 API”?当我用谷歌搜索时,我不清楚你在问什么。你是在说window.postMessage() 可以用来在同一个浏览器中打开的浏览器窗口之间进行通信吗?
  • 是的,我说的是window.postMessage()

标签: html websocket


【解决方案1】:

window.postMessage() 用于在同一浏览器中打开的合作浏览器窗口之间进行通信。它直接从一个窗口中的 Javascript 向另一个窗口的 Javascript 发送消息。它仅适用于在同一浏览器中打开的两个网页之间。它无法将数据发送到在其他浏览器中打开的网页。

webSocket 连接是完全不同的东西。它是客户端和服务器之间的套接字连接。由于浏览器支持 webSocket 接口,因此您可以建立从网页到服务器的 webSocket 连接。建立连接后,数据既可以从网页发送到服务器,也可以从服务器发送到网页。

一个 webSocket 不能用来直接连接两个网页。它可以用于从一个网页到另一个网页获取信息,但是您必须让两个网页都连接到同一台服务器,然后让一个网页向服务器发送数据,然后让该服务器将该数据发送到其他网页。这就是聊天程序的工作量。

window.postMessage() 不能用于向任何其他计算机发送数据,因此只能在同一浏览器的窗口之间使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 2012-09-15
    • 2013-05-27
    • 2014-05-20
    • 2017-09-10
    • 1970-01-01
    相关资源
    最近更新 更多