当前位置: 首页 > 知识库问答 >
问题:

如何使用Socket.io和Express集群

侯向文
2023-03-14

我将express与socket.io一起使用,将express-session与Express-socket.io-session一起使用,这有助于将会话连接到我的套接字实例

var cluster = require('cluster')

if(cluster.isMaster) {
    // imports
    const http = require('http'),
        socketIO = require('socket.io')

    var server = http.createServer(),
        io = socketIO(server)

    for (var i = 0; i < 3; i++) {
        cluster.fork()
    }

    cluster.on('exit', function(worker, code, signal) {
        console.log('worker ' + worker.process.pid + ' died code: ' + code + 'signal: '+ signal)
    })

}

if(cluster.isWorker) {
    var express = require('express'),
        app = express(),
        deploy = require('./main.js'),
        server = require('http').createServer(app),
        io = require('socket.io').listen(server)

        // add store here.

        // deploy and listen
    deploy(app, io)

    console.log(cluster.worker.id)
    app.listen(8080)
}

Deploy函数运行诸如会话、路由等内容。

POST http://localhost:8080/socket.io/?eio=3&transport=polling&t=lz9ey8p 404(未找到)

共有1个答案

慕俊迈
2023-03-14

我找到了我的答案,但我会把它公之于众,这样将来如果有人有这个问题,他们就可以立即快速地设置这个问题。

您需要使用sticky集群,请参阅此配置以获得Express。

 类似资料:
  • 问题内容: 我试图用https运行我的节点服务器。我正在使用express和socket.io。 这是我的https代码: 在我的客户上,其以下内容: 现在我在服务器上收到以下异常: uncaughtException:缺少PFX或证书+私钥。 编辑:现在我越来越 错误的请求 您的浏览器发送了该服务器无法理解的请求。原因:您正在对启用SSL的服务器端口使用纯HTTP。请改用HTTPS方案访问此UR

  • 问题内容: 所以我试图让Session在我的socket.on(’connection’,…)内部工作,我试图使用最新版本进行工作:Socket.io-0.9.13,Express-3.1.0和最新版本其他模块。 无论如何,我都尝试过使用两个模块’ connect-redis ‘和’ session.socket.io ‘,它们都有类似的问题。 在我的代码中,我有2个redis存储(socketi

  • 问题内容: 所以这是交易:我正在尝试在一个快速项目中使用socket.io。启动Express Js 4之后,我更新了express- generator,现在应用程序的初始功能进入了文件 (检查通过,然后 话虽这么说,让我们记住socket.io文档如何要求我们将其触发: 好的,但是我无法像推荐的那样在app.js中执行此操作。为了正常工作,这应该在./bin/www中完成。在./bin/www

  • 问题内容: 我最近一直在四处寻找,以找到一种在nodeJS和PHP之间进行通信的好方法。这里是一个想法:nodeJS还是一个很新的东西,仅使用它开发一个完整的应用程序可能有点棘手。而且,您可能只需要项目的一个模块(例如实时通知,聊天等),就可以使用PHP来管理所有其他内容,因为它可能对您来说更容易(而且您可以利用现有框架,例如CodeIgniter或Symfony)。 我想有一个简单的解决方案;

  • 我最近一直在寻找一种在nodeJS和PHP之间进行通信的好方法。这里有一个想法:nodeJS仍然是相当新的,仅仅用它开发一个完整的应用程序可能有点棘手。此外,您可能只需要用于项目的一个模块,如实时通知、聊天等,而您希望用PHP管理所有其他内容,因为它对您来说可能更容易(而且您可以利用现有的框架,如CodeIgniter或Symfony)。

  • 我试图用和构建一个简单的应用程序。 Ive用express Generator生成我的应用程序的skel: 然后我编辑了package.json文件以包含socket.io: 在运行时,so socket.io正在初始化,但似乎没有io.sockets模块。 我运行查看该对象,我得到: 那么sockets方法在哪里呢?无处可去。但是你看,有一个套接字功能: 以防万一,我将发布我的,但我的代码似乎没