WebSockets 或 Http 哪一个用于实时应用程序?

Posted

技术标签:

【中文标题】WebSockets 或 Http 哪一个用于实时应用程序?【英文标题】:WebSockets or Http which one to use for real time applications? 【发布时间】:2015-04-05 06:22:11 【问题描述】:

我已经完成了大约 70% 的工作,使用 http(doGet/doPost) 方法,现在需要从 user1 向 user2 发送个人消息,我认为这可以通过使用 WebSockets 来完成。我只想知道是否可以将 WebSockets 用于某些工作,而应用程序的其余部分在 HTTP 上工作,或者我必须更改所有服务器端代码才能使用 WebSockets? p.s.:如果应用程序的某些部分可以使用 WebSockets,而应用程序的其余部分可以在 HTTP 上运行,那么我应该如何进行?

【问题讨论】:

【参考方案1】:

webSockets 100% 兼容 http 请求。事实上,webSocket 协议是专门设计的,因此它可以很容易地被用于 http 请求的同一服务器和端口处理。更进一步,一个 webSocket 连接事件以一个 http 请求开始,然后,在双方同意后,协议被“升级”为 webSocket。

通常的方法是为您的 Java 服务器获取一个支持 webSockets 的库,并确保将其配置为在与您的 web 服务器相同的端口和服务器上工作。

但是,如果您认为可以直接从一个客户端到另一个客户端建立 webSocket 连接,那么它不是这样工作的。 webSockets 连接从浏览器到服务器。如果两个客户端都连接到同一个服务器,那么您可以使用该服务器作为中介,将消息从一个客户端传递到另一个客户端。

【讨论】:

【参考方案2】:

您可以同时使用两者。

【讨论】:

你能指导我吗,如何同时使用?只是一个原型,这样我就可以开始了。

以上是关于WebSockets 或 Http 哪一个用于实时应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Django 的实时选项(Websockets、flash、轮询)?

HTTP/2 或 Websockets 用于低延迟客户端到服务器消息

LSA 或 BERT 变压器?哪一个更适合用于短句的实时语义相似性和语义聚类? [关闭]

如何将 HTML5 WebSockets 用于 Chrome 扩展

用于多个主题的 Spring WebSockets

STOMP over websockets 与普通 STOMP。哪一个更好?