У меня есть два приложения node.js, работающие рядом на моем сервере, и я не хочу отправлять сообщения на стороне сервера между ними легким способом, используя собственный модуль node.js (v0.10.33) net.
Я намереваюсь, чтобы первое приложение отправляло сообщения второму. Я вижу журнал консоли listening...
,
В первом приложении:
var push='';
var net=require('net');
var server=net.createServer(function(p){
p.on('error',function(err){console.log(err);});
push=p;
setInterval(function(){push.write(JSON.stringify({'f':'ping','data':'stay alive'}));},1000);
});
server.listen(8008,function(){console.log('listening...')});
//a real message might be sent later in the application (this example would need a setTimeout)
push.write(JSON.stringify({'f':'msg','data':'Hello World'}));
Во втором приложении вижу лог консоли open
var net=require('net');
var pull=new net.Socket();
pull.connect(8008,'127.0.0.1',function(){console.log('open');
pull.on('data',function(_){
_=JSON.parse(_);
if(_.f==='ping'){console.log('!!!ping!!!');}
else{console.log(_.data);}
});
pull.on('error',function(err){console.log('pull: '+err);});
});
Однако я не вижу никакой другой активности (нет пингов, а позже после открытия события, нет приветствия мира) и никаких ошибок.
Если я проверяю с помощью console.dir(pull)
, я не вижу событий для приема данных, например: ondata или onmessage
Что случилось?