Я хотел бы знать, возможно ли создать несколько серверов сокетов на разных URL-маршрутах только на одном сервере nodejs.
Я пытаюсь, чтобы экземпляр двух разных серверов работал по разным URL, таким как mysite / instanceA и mysite / instanceB
Когда я пытался сделать это с портом, а не с url.Приложение хорошо запускается и на портах 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-адреса, а не порта, поэтому я попробовал что-то подобное.Я знаю, почему не работает, но я не знал, как реализовать свою цель.
Пример:
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();
});