さまざまな種類のクライアントを区別するためにいくつかの名前空間を使用するアプリケーションがあるので、最初からこの方法でそれらを分離します(クラスターを使用して4つのプロセスを生成します)
//server code
io.of("/TYPE_ONE").on("connection", function(socket){
console.log("Client connected to TYPE_ONE with id:\t"+socket.id+"\t"+process.env.NODE_WORKER_ID);
});
io.of("/TYPE_TWO").on("connection", function(socket){
console.log("Client connected to TYPE_TWO with id:\t"+socket.id+"\t"+process.env.NODE_WORKER_ID);
});
//client code
//for type one
socket = io.connect("http://mydomain.com/TYPE_ONE", socketOptions);
//different files always, only one type sent to each client
//for type two
socket = io.connect("http://mydomain.com/TYPE_TWO", socketOptions);
コンソールを見た後、突然、1つのクライアントが接続すると、次の出力が表示されます。
Client connected to TYPE_ONE with id: 1234 3
.
.
.
Client connected to TYPE_TWO with it: 1234 3
(same id and workerId as previous connection)
サーバーへの接続は1つだけだと確信しています。t
何がこれを引き起こしているのだろうか?コードを調べて、メソッドを先ほど示したスタブに簡略化したため、問題が見つからないようです。
ご協力いただきありがとうございます。