Имам две node.js приложения, работещи едно до друго на моя сървър и не искам да изпращам съобщения от страна на сървъра между тях по лек начин, използвайки собствена мрежа на модул node.js (v0.10.33)
Възнамерявам първото приложение да изпраща съобщения до второто. Виждам регистрационния файл на конзолата 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
Какво не е наред?