- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道为什么你能够初始化一个普通的 javascript websocket:
var socket = new WebSocket('ws://example.com/myprefix')
但是使用 SockJS 你需要调用一个普通的 http(s) url:
var sock = new SockJS('https://example.com/my_prefix');
为什么 SockJS 不允许“普通”ws url?
最佳答案
以ws:
开头的websocket协议(protocol)在RFC6455中定义。 .
虽然该协议(protocol)的 future 实现可能会获得用于安全和非安全流量的专用端口号,但目前(2018 年)该协议(protocol)是通过发出带有升级 header 的 HTTP 请求来启动的,以将协议(protocol)更改为 WS。 (引用 1、2 和 3)。
使用 websockets 和 ws
协议(protocol)需要客户端支持 websockets API协议(protocol)升级 header 和 websocket 通信的服务器支持。
SockJS就像 websockets 的 pollyfill,如果 websockets 不可用,它将回退到可用的通信 channel 。根据 readme.md 文件,
"SockJS is intended to work for all modern browsers and in environments which don't support the WebSocket protocol -- for example, behind restrictive corporate proxies.
websockets 和 SockJS 都需要服务器支持。例如。对于节点,ws或 SockJS for node . SockJS 的 readme.md 文件声明服务器将使用 ws:
协议(protocol) header 接受原始请求,但没有提及在哪个端口上。
如果客户端请求不接受 ws
URL,我建议假设它是围绕发出初始 HTTP/HTTPS 请求以确定支持的假设编写的。也许更新请求可能会扩展 URL 中接受的协议(protocol)!
关于javascript - Websocket 与 SockJS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52731686/
目前,我的客户端连接在我刷新页面时打开,在我关闭/刷新选项卡时关闭。 我知道我可以从服务器端关闭连接,但我在文档中找不到从客户端关闭连接的方法。 我希望能够在单击一个按钮时打开一个新连接,并在单击另一
我一直在检查两个类似的解决方案,以使用独立的 Python 服务器通过 sockJS 支持网络套接字,到目前为止,我找到了两个解决方案。 我需要编写一个复杂的、可扩展的基于 web socket 的
我正在尝试从 sockjs-client 库中导入 SockJS。我正在使用 Aurelia 和 typescript ,但在尝试使用 导入时 import { SockJS } from 'sock
我将 https://github.com/mrjoes/sockjs-tornado 用于 Django 应用程序。我可以很容易地从 javascript 控制台发送消息。但我想在 Django 中
我正在关注这个 tutorial此刻,我到了必须在我的 Angular5 组件中实例化我的 SockJS-Client 的地方。 这是我所做的: 我执行以下命令来安装所需的库: npm install
我正在尝试设置一个简单的 html/Js 页面。 我已经安装了 webpack 和 babel。我已经使用“build”和“start”脚本配置了 package.json 文件。 该页面运行良好,但
我正在使用 SocketJS 和 Stomp 通过后端 api 发送文件以进行处理。 我的问题是,如果同时完成两个以上的上传,上传功能就会卡住。 前任: 用户 1 -> 上传文件 -> 后端正确接收文
我想让用户创建并加入“房间”,以便他们可以进行协作。 我正在看SockJs Multiplexer server我想知道我是否可以利用其中的一些来创建并广播到特定的 channel /房间。 在示例中
我正在尝试找出一种方法,让我的 SockJS 客户端在服务器出现故障时重新连接到服务器。 我目前有这个: new_conn = function() { socket =
我正在使用 Vert.x 和 SockJS 来传输封装在消息中的数据。是否有规范 SockJS/Websocket 消息可以有多大? 最佳答案 SockJS 消息的大小没有明确的限制。但不幸的是,So
我正在尝试建立从前端到 vertx 后端的 sock.js 连接。 我最初的尝试是这样的: let token = ''; let data = {'Authorization' : 'Bearer
我正在开发一个 Node.js 后端,它通过 websocket 与一些桌面客户端进行通信,而服务器端的通信是从 Web 前端发起的。一切正常,因为我将 SockJS Connection 实例存储在
我正在开发一个应用程序,它使用 SockJS 来更新连接到服务器的其他应用程序的一些通用数据。问题来了,当我尝试在两个浏览器选项卡中打开它,因为只有其中一个实现了连接,而另一个则一直等待直到超时。 谁
我想通过 Bower 获取最新的 SockJS,并将其保存到我的 bower.json 文件中。 根据GitHub sockjs-client page ,最新版本是 v1.0.3(我看到它的标签)。
有什么方法可以让 Android 与 SockJs 一起在 Phonegap 中打包的应用程序中进行套接字连接?目前我有以下代码可在 iOS 上运行但在 Android 上失败,因为 file:///
使用 node.js 和名为“echo”的 sockjs github 示例 https://github.com/sockjs/sockjs-node ,如果没有任何变化,传输将在大约 130-15
我的应用程序堆栈: 在我的服务器上运行着一个 Redis 服务器。 PHP 后端通过 Redis 服务器与 Predis 库进行通信。它将发布消息。这些消息将由我的 Redis 客户端 (node.j
我有一个网站(Java + Spring)依赖 Websockets(Stomp over Websockets 用于 Spring + RabbitMQ + SockJS)来实现某些功能。 我们正在
我有一个在 localhost:8080 上运行的 SpringBoot 服务器和本地主机上的 npm(服务于 React 应用程序):3000 每当我尝试建立到 spring 的 websocket
正在尝试连接到 SockJs server .我正在从安全的 https 页面 https://localhost/index.php 运行以下代码 var sockjs_url = 'htt
我是一名优秀的程序员,十分优秀!