pm2/examples/v1/client.js
2016-08-07 02:16:13 -07:00

79 lines
1.3 KiB
JavaScript

var Wrap = require('./wrap.js');
var axon = require('pm2-axon');
var Module = require('module');
Wrap.wrap(Module, '_load', function(load) {
return function(file) {
return load.apply(this, arguments);
}
});
var server = axon.socket('sub');
server.bind(8080);
server.on('bind', function() {
console.log('Server ready');
});
server.on('message', function(data) {
console.log(data);
});
// setTimeout(function() {
// console.log('Closing server');
// server.close(function() {
// console.log('Closed');
// });
// }, 3000);
function setupConnection() {
var client = axon.socket('pub');
client.on('connect', function() {
console.log('Client connected');
});
client.on('error', function(e) {
console.log('Client got error', e.message);
});
client.on('close', function(e) {
console.log('Client got a close');
});
client.on('reconnect attempt', function(e) {
console.log('Reconnecting');
});
client.connect(8080);
this.send = function() {
client.send({success:true});
};
this.destroy = function() {
client.close();
client.removeAllListeners();
};
this.reconnect = function() {
};
return this;
}
var connection = setupConnection();
setInterval(function() {
connection.send();
}, 1000);
setInterval(function() {
connection.destroy();
connection = setupConnection();
}, 2000);