node-peercast
Version:
PeerCast client for node.js
35 lines (34 loc) • 1.25 kB
JavaScript
var net = require('net');
var log4js = require('log4js');
var PcpSocket = require('./pcpsocket');
var HeaderReader = require('./headerreader');
var logger = log4js.getLogger();
var PcpHub = (function () {
function PcpHub() {
}
PcpHub.prototype.listen = function (port, connectionListener) {
logger.info('listening... ' + port);
var server = net.createServer(function (socket) {
var headerReader = new HeaderReader();
var readableListener = function () {
var header = headerReader.read(socket);
if (header == null) {
return;
}
headerReader = null;
socket.removeListener('readable', readableListener);
};
socket.addListener('readable', readableListener);
connectionListener(new PcpSocket(socket));
});
server.listen(port);
};
PcpHub.prototype.connect = function (host, port, connectionListener) {
logger.info('connecting... ' + host + ':' + port);
var socket = net.connect(port, host, function () {
connectionListener(new PcpSocket(socket));
});
};
return PcpHub;
})();
module.exports = PcpHub;