我想知道是否可以仅在一个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();
});