问题标签 [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.

0 投票
1 回答
84 浏览

networking - “基于交通”是什么意思?

在 engine.io网站上它说:

Engine.IO 是 Socket.IO 的基于传输的跨浏览器/跨设备双向通信层的实现。

“基于交通”是什么意思?我简单地假设它使用TCP?

0 投票
1 回答
1455 浏览

websocket - ws engine.io和socket.io是什么关系

这个问题基本上听起来像是节点库 Socket.io 使用了使用 ws 的库 engine.io。

鉴于每个人都可以独立创建 WebSocket 连接,这些人各自扮演什么角色?

0 投票
1 回答
839 浏览

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 值消失了。

它出什么问题了?

0 投票
0 回答
352 浏览

socket.io - 如何在 Engine.io (sockect.io) 上检查有效的 wsEngine

我已经设置了我的 Socket.iowsEngine选项,uWs就像这里一样。

如何检查wsEngine有效Socket.io

因为我想确定Socket.io库正在运行哪个套接字引擎?

0 投票
0 回答
155 浏览

sockets - 在使用 socket.io 与套接字连接时,它会间歇性地返回断开连接的套接字对象

我正在使用 socket.io 建立套接字连接。我尝试与之建立连接的服务器首先位于 Amazon ELB 之后,然后是 HAProxy 负载均衡器。我正在使用这段代码:

这个调用几乎有一半的时间返回了有效的套接字对象,但其他时候它返回了这种类型的断开连接的套接字对象:

这里要注意的主要是这里connected:falsedisconnected:true表示连接没有建立。有人可以在这里帮忙吗?

0 投票
3 回答
575 浏览

socket.io - socket.io - 如何访问未处理的消息?

您如何检测到您在没有处理程序的 socket.io 连接上收到了消息?

例子:

0 投票
1 回答
93 浏览

node.js - 如何将数据从客户端发送到唯一的套接字服务器

我知道如果我在套接字上发出数据,数据将被发送到所有连接的客户端。

io.emit("test", data)

例如,如果我运行上面的命令,实际上数据会到达所有客户端。但只有test频道监听器处理它。

为了防止这种情况,我使用房间。我使用如下代码:

io.in("test").emit(data)

那么,如果一个客户端向服务器发送数据,那么数据是否会到达所有客户端呢?

注意:我也socket.io-redis用来制作集群。

0 投票
1 回答
7038 浏览

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),但我也无法弄清楚。

你们能帮忙吗?

0 投票
1 回答
697 浏览

node.js - 将 socket.io/engine.io 连接转发到另一台服务器

我们正在尝试找到解决 websocket 负载平衡问题的最佳方法。

Websocket 最初可以连接到任何服务器,该服务器将运行一些逻辑,然后如果需要它会将客户端“重定向”到适当的服务器。

socket.io/engine.io 中有没有办法重定向/转发连接?

就像是:

我知道那socket.redirect不是有效的功能,但有类似的东西吗?

0 投票
0 回答
508 浏览

javascript - 无法读取新 WebSocket 上未定义的属性“on”

socket.io@1.7.2

engine.io@1.8.2

创建连接时出现此错误。

它使 Server.errors.BAD_REQUEST 作为响应。这是文件 websocket.js

如何检查错过了哪些值?