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