0
我工作的有2種類型用戶的應用程序。我想在兩個socket.io文件中分離出它們的功能。控制2 socket.io連接
index.js:
var io = require('socket.io').listen(server);
require('/sockets/userType1')(io);
require('/sockets/userType2')(io);
userType1.js:
module.exports = function (io) {
io.on("connection", function (socket) {
console.log("Connected to userType1");
});
}
userType2.js
module.exports = function (io) {
io.on("connection", function (socket) {
console.log("Connected to userType2");
});
}
然而,當我從客戶端連接其連接到兩個(這我想我會期望,因爲我沒有任何區別我試圖連接的任何東西)。
有沒有辦法來定義的連接只能連接到那些socket.io類之一?或者我只需要依賴命名約定?
看看[命名空間](https://socket.io/docs /間-和命名空間/#命名空間)。 – robertklep
Thanks @robertklep多數民衆贊成正是我正在尋找 – Woodsy
您不能有兩個單獨的socket.io服務器連接到同一個Web服務器。只是不能這樣做 - 他們都會看到所有傳入的請求,因爲客戶端的請求與另一個請求是無法區分的。您必須在新端口上創建一個新的Web服務器,然後在其他端口上連接其中一個連接,或者使用單獨的socket.io命名空間,如在一個socket.io服務器上建議的woodsy。 – jfriend00