From 418d8485ba9a7f379bbe61f831fdb2db23a8dc1a Mon Sep 17 00:00:00 2001 From: season Date: Wed, 23 Dec 2015 17:46:51 +0800 Subject: [PATCH] check server id redundant --- lib/masterAgent.js | 10 ++++++++++ lib/monitorAgent.js | 1 + 2 files changed, 11 insertions(+) diff --git a/lib/masterAgent.js b/lib/masterAgent.js index e2166aa..6c1b1bf 100755 --- a/lib/masterAgent.js +++ b/lib/masterAgent.js @@ -99,6 +99,16 @@ MasterAgent.prototype.listen = function(port, cb) { else if (msg.type === TYPE_MONITOR) { if (msg.id) { // if is a normal server + if(self.idMap[msg.id]){ + logger.error('redundant server id %s', msg.id) + //already regisertered + socket.emit('register', { + code: protocol.PRO_FAIL, + msg: 'server id already registered' + }); + socket.disconnect(); + return; + } id = msg.id; type = msg.serverType; info = msg.info; diff --git a/lib/monitorAgent.js b/lib/monitorAgent.js index 3a6e56c..3e79b40 100755 --- a/lib/monitorAgent.js +++ b/lib/monitorAgent.js @@ -63,6 +63,7 @@ MonitorAgent.prototype.connect = function(port, host, cb) { } else { self.emit('close'); logger.error('server %j %j register master failed', self.id, self.type); + utils.invokeCallback(cb, msg); } });