如何在同一服务器上创建多个套接字服务器实例

时间:2019-04-04 14:16:31

标签: node.js server

我想知道是否可以仅在一个nodejs服务器上的不同URL路由上创建多个套接字服务器。

我正在尝试在差异网址上运行两个差异服务器实例 例如mysite / instanceA和mysite / instanceB

当我尝试使用端口而不是网址进行操作时。该应用程序启动良好,在端口3000和3001上,我得到了两个不同的应用程序。这很棒。

let express = require('express');
let http = require('http');
let socket = require('socket.io');
let workspace = require('./src/workspace');

class Server {
    constructor(port){
        this.httpServer = http.Server(app);
        this.io = socket(this.httpServer);
        workspace.newWorkspace(this.io , app);
        this.httpServer.listen(port, function(){
            console.log('App started on : ' + port);
        });
    }
}

let app = express();
app.use(express.static("public"));
new Server(3000);
new Server(3001);

但是,我想用url而不是port来做,所以我尝试了类似的方法。我知道为什么不起作用,但我不知道如何实现我的目标。

示例:

let express = require('express');
let http = require('http');
let socket = require('socket.io');
let workspace = require('./src/workspace');

const port = process.env.PORT || 3000 ;

class Server {
    constructor(){
        this.httpServer = http.Server(app);
        this.io = socket(this.httpServer);
        workspace.newWorkspace(this.io , app);
        this.httpServer.listen(port, function(){
            console.log('App started on : ' + port);
        });
    }
}

let app = express();
app.use(express.static("public"));
app.get("/", function(req, res){
    new Server();
});
app.get("/a", function(req, res){
    new Server();
});

0 个答案:

没有答案