var http = require('http'); var Engine = require('engine.io-stream'); var browserify = require('browserify'); var level = require('level'); var multilevel = require('multilevel'); var liveStream = require('level-live-stream'); // webrtc var webrtc = require('wrtc'); var pc = null; var offer = null; var answer = null; /* 1. Global settings, data and functions. */ var dataChannelSettings = { 'reliable': { ordered: true, maxRetransmits: 0 }, }; var pcSettings = [ { iceServers: [{url:'stun:stun.l.google.com:19302'}] }, { 'optional': [{DtlsSrtpKeyAgreement: false}] } ]; var pendingDataChannels = {}; var dataChannels = {}; var server = http.createServer(function (req, res) { if (req.url == '/') { res.end(''); } else if (req.url == '/bundle.js') { browserify(__dirname + '/browser.js') .bundle({debug: true}) .pipe(res); } else { res.end('Oops'); } }).listen(5000); var db = level(__dirname + '/db', { valueEncoding: 'json' }); liveStream.install(db); multilevel.writeManifest(db, __dirname + '/manifest.json'); var multistream = multilevel.server(db); var engine = Engine(function (con) { con.pipe(multistream).pipe(con); }); engine.attach(server, '/engine');