问题标签 [express.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 回答
399 浏览

express - 如何在全局范围内同时使用 express.io 和 passport.socketio 身份验证功能

socket.io 支持单一的全局授权方法,没有中间件功能。express.io 和 passport.socketio 都依赖此功能作为其逻辑的注入点。

express.io 将 express 会话附加到请求,passport.socketio 附加膨胀的用户对象。如何优雅地结合这两个功能?

0 投票
2 回答
3819 浏览

node.js - express.io 中的连接客户端

我正在使用 node.js 和 express.io 开发一个简单的聊天应用程序

我想一直显示已连接客户端的列表(或在线聊天)。

express.io 的文档中,没有明确的方法来说明如何在新客户端进入房间后“获取”已连接客户端的列表,即只有“广播”而不是“获取”。

以前有人做过吗?

任何线索都会非常有帮助。

谢谢!

编辑:

在尝试了@jibsales 的回答之后。我想我们快到了。客户返回给我的不是实际的客户数组,而是这个:

功能是:

这实际上返回了一个错误( data = JSON.stringify(ev); TypeError: Converting circular structure to JSON),因为数组有几个循环对象,因此它不能被广播。

有什么想法吗?

0 投票
1 回答
146 浏览

javascript - 在 Express.io 中授权 websocket 连接请求的可能方法是什么?

我遇到了两种可能性,并且更喜欢在完全建立 websocket 之前执行检查的解决方案。

选项 1:如何获取 Express 会话对象?
更新:这可能不可行,因为 Express.io 注册了自己的“授权”功能,这使得 Express 会话可用于 Socket.io。

选项 2:易于获得 Express 会话,但已建立连接。

0 投票
2 回答
123 浏览

javascript - 使用将两者连接在一起的 node.js 页面运行 PHP 前端站点

我创建了一个 php 站点,从 sqlite 数据库读取基本内容,登录等。这目前在端口 80 上的 xampp 上运行,一切都很好。

我创建了另一个在 node.js 上运行的页面,它使用 socket.io 和 express.io。当前在端口 8080 上运行。

我想单击 php 站点上的链接,该链接将我定向到 node.js 页面,这两个页面都位于不同的端口上。我希望这是可以理解的,我已经对此事进行了很多搜索,但找不到可行的解决方案。

0 投票
0 回答
66 浏览

node.js - 使用 express.io 在 nodejs 中登录会话脚本

我想在nodejs中创建一个登录会话脚本。它应该包括已经存储在数据库中的用户名和密码。如果用户输入不在数据库中的id,那么它应该显示无效的id,否则它应该重定向到另一个html页面。nodejs 有很多框架,但我在 nodejs 中没有任何用于登录会话的脚本。所以请任何人都可以通过给我一个完整的脚本来帮助我完成这些任务。

0 投票
1 回答
232 浏览

javascript - 为什么我的 Javascript 提示没有从我的 Express.IO .ejs 文件中显示?

我对 JavaScript 和随后的 Node + Express.IO 比较陌生。我正在尝试构建一个页面,该页面将实时跟踪不同“用户”与服务器的连接。因此,当我确实包含 io 模块中的所有功能时,我的 prompt() 和 alert 不再起作用。我正在nodemon app.js从我的终端运行,并且这样做时没有出现编译错误。当我删除所有 io 功能时,警报和提示再次起作用。

这些是我的 index.ejs<body>标签的内容:

任何帮助将非常感激。

0 投票
1 回答
75 浏览

javascript - 在断开连接触发器之前检查客户端重新连接

所以我正在尝试实时显示我的在线玩家,到目前为止它运行良好,除了一个问题。当我的应用程序侦听断开连接时,似乎页面刷新触发了此功能并且所述播放器已注销。

为什么页面刷新会触发此功能?(我知道这是这个功能,因为玩家退出的唯一其他方式是通过退出链接)我怎样才能让它忽略页面刷新而只捕获断开连接,比如关闭浏览器?

编辑:如何“ping”重新连接事件,以便检查页面是否重新加载与关闭?重新加载将立即重新连接,因此我只需要检查所述重新连接。我就是不知道怎么办!

0 投票
0 回答
161 浏览

node.js - Express.io 是否具有重新加载会话数据的属性授权?

我一直在实现套接字概念,如https://github.com/techpines/express.io/tree/master/examples/sessions,我能够显示页面初始化后存储的会话数据。但是,尽管如此,当会话数据在一段时间内不断变化时,我得到的会话数据未定义。

但是使用 socket.io 授权和握手会话可以很好地完成类似的概念,提供链接http://www.danielbaulig.de/socket-ioexpress/

客户端代码:

服务器端代码:


在控制台中,它在每次发出时都打印为未定义...我想知道为什么套接字会话没有更新,因为原始用户会话不断变化...???

我是否需要在服务器端添加任何额外的配置来处理更改的会话数据???

0 投票
0 回答
76 浏览

javascript - 在 RequestIO 对象中找不到 Express.io Room 功能

这是我试图做的:

服务器.js

客户端.html

问题是服务器上的这行代码:

给出以下错误:

目标是在发出“/created”请求后向房间广播消息,而不是向发出请求的客户端广播消息。我已经使用 app.io.room 进行广播,但它会发送给所有客户端,包括发出请求的客户端,我不希望这样。

所以我的问题是它是否可以完成,那么我做错了什么,但如果它不能,那么一点关于为什么不的信息会很好:)

0 投票
1 回答
426 浏览

javascript - 在单独的路由器文件中使用 express.io

我正在尝试将路由器和 socket.io 一起使用。

我创建了一个单独的路由器文件并尝试将路由和 socket.io 结合起来

但是,当我请求 / 路由器时,它会失败并显示以下消息。

只是想知道我错过了什么......