1
編輯:由於對EventMachine
的瞭解不足,因此提出此問題。NodeJS:在不重新啓動的情況下向Socket.IO服務器添加通道
使用Socket.IO接口,我可以與「通道」複用連接。我將如何啓動一個Socket.IO服務器,但添加頻道而不必停止/啓動服務器?
var io = require('socket.io').listen(80);
var chat = io
.of('/chat')
.on('connection', function (socket) {
socket.emit('a message', {
that: 'only'
, '/chat': 'will get'
});
chat.emit('a message', {
everyone: 'in'
, '/chat': 'will get'
});
});
var news = io
.of('/news')
.on('connection', function (socket) {
socket.emit('item', { news: 'item' });
});
從Socket.IO此代碼示例顯示了啓動服務器,然後創建兩個通道稱爲chat
和news
。如果我使用chat
啓動服務器,但想要添加news
而不中斷chat
?我將如何添加頻道?
你能舉個例子說明爲什麼你想用聊天工具啓動服務器,但不用新聞?我需要更好地理解您的實際使用案例。否則,Vadim是正確的,您只需調用'io.of('channel')'創建另一個通道,就不需要重新啓動。 –
我將啓動Socket.IO服務器,並使用腳本添加進程的實例,每個實例綁定到創建進程時創建的通道。否則,請解釋我如何在外部(如從其他腳本)添加一個通道到預先存在的Socket.IO服務器。 – hexacyanide
那麼你是否運行多個節點實例?我不確定你的意思是「用腳本添加進程的實例」。你只是想在不同的文件中設置多個頻道? –