Files
level-live/index.js
2023-08-01 14:23:56 +02:00

58 lines
1.3 KiB
JavaScript

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('<script src="/bundle.js"></script>');
} 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');