2015-07-18 44 views
0

我做了一个函数,所以你可以发送消息到CMD的聊天,把它作为服务器广播。但是,我遇到了一个问题。每次我重新加载页面时,都会多次发送消息。所以如果我重新加载页面5次,服务器消息被发送6次。 (计数第一负载)Node.js&Socket.io - 来自cmd多次发送的消息

下面是一个例子: enter image description here enter image description here enter image description here

下面是完整的代码的一个分支。我将如何去解决这个问题?

https://github.com/Crypting/chat/tree/server_messages

编辑:问题解决了,所以分公司将不再显示问题。我已经上传的代码要点,如果有人碰巧遇到这样的问题 - https://gist.github.com/Crypting/dc5167c8ca3b18950b39

回答

2

好,由app.js采取:

io.on('connection', function (socket) { 
    ... 
    var stdin = process.stdin, stdout = process.stdout; 

    stdin.resume(); 
    stdin.on('data', function(data) { 
     ... 
    }); 
}); 

这字面意思是:每当有一个人连接,您可以添加另一位听众stdin。 改为将其移出连接处理程序:

io.on('connection', function (socket) { 
    ... 
}); 

var stdin = process.stdin, stdout = process.stdout; 

stdin.resume(); 
stdin.on('data', function(data) { 
    ... 
}); 
+0

哦,为什么我没有注意到这一点......谢谢:) – Cosmetify