node-peercast
Version:
PeerCast client for node.js
46 lines (45 loc) • 1.44 kB
JavaScript
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var events = require('events');
var log4js = require('log4js');
var PcpHub = require('./pcphub');
var logger = log4js.getLogger();
var PeerCast = (function (_super) {
__extends(PeerCast, _super);
function PeerCast(localPort) {
var _this = this;
_super.call(this);
this.localPort = localPort;
this.hub = new PcpHub();
this.hub.listen(localPort, function (socket) {
socket.on('hello', function () {
socket.olleh();
});
_this.on('end', function () {
});
});
}
PeerCast.prototype.connect = function (remoteAddress, remotePort) {
var _this = this;
this.hub.connect(remoteAddress, remotePort, function (socket) {
socket.on('olleh', function () {
_this.emit('connected');
});
socket.sendPCPHeader();
socket.hello(_this.localPort);
_this.on('end', function () {
socket.quit();
});
});
};
PeerCast.prototype.quit = function () {
logger.debug('quit()');
this.emit('end');
};
return PeerCast;
})(events.EventEmitter);
module.exports = PeerCast;