如何使用 node js 开发实时聊天

Posted

技术标签:

【中文标题】如何使用 node js 开发实时聊天【英文标题】:How to develop live chat using node js 【发布时间】:2016-08-04 01:35:25 【问题描述】:

我想使用 node js 开发实时聊天。谁能指导我如何做到这一点?我决定的用例:

    用户将在应用屏幕上看到标有“在线聊天支持”的链接或图标。 点击此按钮,将打开聊天窗口。它会指示在线并准备就绪的代理的名称,或者会指示代理正忙,并在代理可用时更改该状态。 在代理端,在为更多用户生成忙碌消息之前,最多会打开 3 个窗口(来自 3 个用户)。这个数字 (3) 将是可配置的。 代理将获取用户从其 ping 他的屏幕的名称。 由于会有多个代理,我们需要能够将一堆屏幕(或应用)标记到特定代理。 需要一种负载分配机制,以便将新查询路由到任何空闲的代理,并标记到该屏幕或应用程序。 “我们需要能够为某些时间窗口设置不可用消息 – 如果聊天支持仅在 IST 上午 9 点到下午 6 点之间可用,我们应该能够为在此窗口外登录的用户设置一条消息,显示“在线聊天支持仅在……之间可用”。”

请告知如何进行。

【问题讨论】:

这可能会帮助您了解基本概念github.com/sayar/NodeMVA/tree/master/09_NodeChatroom 【参考方案1】:

您可以使用socket.io 模块来创建实时聊天。 检查this tutorial。

【讨论】:

感谢您的评论!我知道可以使用 socket.io,但不确定如何使用多个代理。当用户点击“在线聊天支持”按钮时,它将如何连接到可用的代理?多个代理应该在一台服务器还是多台服务器中,或者需要使用集群。

以上是关于如何使用 node js 开发实时聊天的主要内容,如果未能解决你的问题,请参考以下文章

使用 node.js、websockets 和 socket.io 创建实时聊天

如何使用 Socket.io 和 Node.js 开发大型聊天应用程序 [关闭]

如何使用 Node JS 服务器在 Socket.io 中进行一对一聊天?

Node.js+websocket+mongodb实现即时聊天室

Node.js websocket 使用 socket.io库实现实时聊天室

我无法弄清楚如何防止在 Node.js 中出现此 CORS 错误 [重复]