have notes page only listen to one socket
This commit is contained in:
		| @@ -2,6 +2,7 @@ var express   = require('express'); | ||||
| var fs        = require('fs'); | ||||
| var io        = require('socket.io'); | ||||
| var _         = require('underscore'); | ||||
| var Mustache  = require('mustache'); | ||||
|  | ||||
| var app       = express.createServer(); | ||||
| var staticDir = express.static; | ||||
| @@ -29,8 +30,14 @@ app.get("/", function(req, res) { | ||||
|   fs.createReadStream(opts.baseDir + '/index.html').pipe(res); | ||||
| }); | ||||
|  | ||||
| app.get("/_notes", function(req, res) { | ||||
|   fs.createReadStream(opts.baseDir + 'slidenotes/notes.html').pipe(res); | ||||
| app.get("/_notes/:socketId", function(req, res) { | ||||
|  | ||||
|   fs.readFile(opts.baseDir + 'slidenotes/notes.html', function(err, data) { | ||||
|     res.send(Mustache.to_html(data.toString(), { | ||||
|       socketId : req.params.socketId | ||||
|     })); | ||||
|   }); | ||||
|   // fs.createReadStream(opts.baseDir + 'slidenotes/notes.html').pipe(res); | ||||
| }); | ||||
|  | ||||
| // Actually listen | ||||
|   | ||||
| @@ -65,12 +65,16 @@ | ||||
|     <script src="socket.io/socket.io.js"></script> | ||||
|  | ||||
|     <script> | ||||
|     var socketId = '{{socketId}}'; | ||||
|     var socket = io.connect('http://localhost:1947'); | ||||
|     var notes = document.getElementById('notes'); | ||||
|     var slides = document.getElementById('slides'); | ||||
|     var nextSlide = document.getElementById('next-slide'); | ||||
|  | ||||
|     socket.on('slidedata', function(data) { | ||||
|       // ignore data from sockets that aren't ours | ||||
|       if (data.socketId !== socketId) { return; } | ||||
|  | ||||
|       notes.innerHTML = data.notes; | ||||
|       slides.contentWindow.Reveal.navigateTo(data.indexh, data.indexv); | ||||
|       nextSlide.contentWindow.Reveal.navigateTo(data.nextindexh, data.nextindexv); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user