gpt4 book ai didi

javascript - 即使在支持 websockets 的浏览器上,SockJS 也会模拟 websockets 吗?

转载 作者:行者123 更新时间:2023-11-29 17:06:07 25 4
gpt4 key购买 nike

即使在支持或不支持 websocket 的浏览器上,SockJS 是否会模拟 websockets?

我正在尝试使用 websocket 和 RabbitMQ 在网络上发送和接收消息。 RabbitMQ 提供了一个 rabbitmq-web-stomp 插件,它使用 Sockjs 桥接 websocket 和 RabbitMQ STOMP 插件。

但是 SockJS 说它是一个 websocket 模拟器。所以我想问一下它是否会在支持 websockets 的浏览器上模拟 websocket。

最佳答案

来自 the SockJS javascript library (强调我的):

SockJS is a browser JavaScript library that provides a WebSocket-like object. SockJS gives you a coherent, cross-browser, Javascript API which creates a low latency, full duplex, cross-domain communication channel between the browser and the web server.

Under the hood SockJS tries to use native WebSockets first. If that fails it can use a variety of browser-specific transport protocols and presents them through WebSocket-like abstractions.

SockJS 公开了一个类似于 websocket 的 API,使您的 javascript 应用程序认为您始终拥有一个 web 套接字,即使您没有。编写您的应用程序时只考虑一种传输方式并在缺少时让其他东西模拟它会更容易。您的应用程序代码更简单。

SockJS 将处理回退。它将尝试使用第一个受支持的通信方式对这些通信方式进行排序。

[
'websocket',
'xdr-streaming',
'xhr-streaming',
'iframe-eventsource',
'iframe-htmlfile',
'xdr-polling',
'xhr-polling',
'iframe-xhr-polling',
'jsonp-polling'
]

注意网络套接字是第一个。如果您的浏览器支持网络套接字,SockJS 将使用它。

关于javascript - 即使在支持 websockets 的浏览器上,SockJS 也会模拟 websockets 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com