问题标签 [engine.io]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
websocket - ws engine.io和socket.io是什么关系
这个问题基本上听起来像是节点库 Socket.io 使用了使用 ws 的库 engine.io。
鉴于每个人都可以独立创建 WebSocket 连接,这些人各自扮演什么角色?
node.js - Socket.io 使用 nginx 设置 cookie
我的应用架构在这里。
- 前端服务器 3000 - domain.com,向浏览器提供文件
- api-server 3001 - api.domain.com
- 套接字服务器 3003 - io.domain.com
在开发模式下,套接字请求具有所有http请求cookie,
但是在使用 nginx 的生产模式下(下到 conf),
socket cookie 只有一个 cookie io
这是 nginx conf(套接字服务器的一部分)。
这是套接字客户端
在开发环境中,它运行良好,但由于问题在生产模式下,我无法检索用户值。
我需要使用 cookie 值 sessionId,token to auth,但是两个 cookie 值消失了。
它出什么问题了?
sockets - 在使用 socket.io 与套接字连接时,它会间歇性地返回断开连接的套接字对象
我正在使用 socket.io 建立套接字连接。我尝试与之建立连接的服务器首先位于 Amazon ELB 之后,然后是 HAProxy 负载均衡器。我正在使用这段代码:
这个调用几乎有一半的时间返回了有效的套接字对象,但其他时候它返回了这种类型的断开连接的套接字对象:
这里要注意的主要是这里connected:false和disconnected:true表示连接没有建立。有人可以在这里帮忙吗?
socket.io - socket.io - 如何访问未处理的消息?
您如何检测到您在没有处理程序的 socket.io 连接上收到了消息?
例子:
node.js - 如何将数据从客户端发送到唯一的套接字服务器
我知道如果我在套接字上发出数据,数据将被发送到所有连接的客户端。
io.emit("test", data)
例如,如果我运行上面的命令,实际上数据会到达所有客户端。但只有test
频道监听器处理它。
为了防止这种情况,我使用房间。我使用如下代码:
io.in("test").emit(data)
那么,如果一个客户端向服务器发送数据,那么数据是否会到达所有客户端呢?
注意:我也socket.io-redis
用来制作集群。
javascript - Node.js + Socket.io | 在服务器上设置自定义标头
我使用 Helmet 和 Express 从服务器端设置相当多的安全 HTTP 标头。这很好,当在 node.js 应用程序上渲染客户端页面时,使用:
索引页面上的所有资源都将具有 Helmet 标头。不幸的是,socket.io 有自己的标头管理。因此,/socket.io/ 之后的任何内容都将具有不安全/自己的标头。例如这里:
因此,我想手动为所有 socket.io 项目设置自定义标头。
这就是我需要 socket.io 的方式(仅摘录):
/src/app.js
/lib/io.js
“extraHeaders”选项不起作用,我想它只能与 socket.io-client 一起使用。我做了大量的谷歌搜索,但没有运气。
还查看了如何使用 socket.request (显然它有助于标头,根据:here),但我也无法弄清楚。
你们能帮忙吗?
node.js - 将 socket.io/engine.io 连接转发到另一台服务器
我们正在尝试找到解决 websocket 负载平衡问题的最佳方法。
Websocket 最初可以连接到任何服务器,该服务器将运行一些逻辑,然后如果需要它会将客户端“重定向”到适当的服务器。
socket.io/engine.io 中有没有办法重定向/转发连接?
就像是:
我知道那socket.redirect
不是有效的功能,但有类似的东西吗?
javascript - 无法读取新 WebSocket 上未定义的属性“on”
socket.io@1.7.2
engine.io@1.8.2
创建连接时出现此错误。
它使 Server.errors.BAD_REQUEST 作为响应。这是文件 websocket.js
如何检查错过了哪些值?