12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- var express = require('express');
- var fs = require('fs');
- var app = express.createServer();
- var io = require('socket.io').listen(app);
- // Initialize main server.
- app.use(express.bodyParser());
- app.use(express.static(__dirname + '/public'));
- app.set('view engine', 'ejs');
- app.set('views', __dirname + '/views');
- // P2P sources: { socket id => url }.
- sources = {};
- // socket.io clients.
- clients = {};
- // P2Ps. { source id => group members }
- connections = {};
- // For connecting clients:
- // Src will connect upon creating a link.
- // Receivers will connect after clicking a button and entering an optional key.
- io.sockets.on('connection', function(socket) {
- clients[socket.id] = socket;
- // Source connected.
- socket.on('source', function(from, msg) {
- });
- // Offer from src to dest.
- socket.on('offer', function (from, msg) {
- });
- // Answer from dest to src.
- socket.on('answer', function (from, msg) {
- var source = clients[msg.answer];
- source.emit('client-connected' { member: msg.member, offer: msg.offer });
- });
- socket.on('disconnect', function() {
- // Handle on client side?
- socket.broadcast.to(connections[socket.id]).emit('Host disconnected');
- delete connections[socket.id];
- delete clients[socket.id];
- });
- });
- app.get('/', function(req, res){
- res.render('index');
- });
- app.listen(80);
|