Skip to content

Commit

Permalink
socket.io fixes and dependency updates
Browse files Browse the repository at this point in the history
  • Loading branch information
braitsch committed Oct 19, 2015
1 parent 9676f86 commit 461b21d
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 49 deletions.
35 changes: 13 additions & 22 deletions app.js
Expand Up @@ -4,31 +4,22 @@
* Author :: Stephen Braitsch
*/

var http = require('http');
var express = require('express');
var app = express();
var server = http.createServer(app);
var http = require('http').Server(app);

global.host = 'localhost';
global.socket = require('socket.io').listen(server);
global.socket.set('log level', 1);
global.socket.set('transports', [ 'websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']);
// create the single instance of socket.io that will be shared across all applications //
global.io = require('socket.io')(http);

app.root = __dirname;
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/app/server/views');
app.set('view engine', 'jade');
app.use(require('stylus').middleware({ src: __dirname + '/app/public' }));
app.use(express.static(__dirname + '/app/public'));

app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', app.root + '/app/server/views');
app.set('view engine', 'jade');
app.locals.pretty = true;
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(require('stylus').middleware({ src: app.root + '/app/public' }));
app.use(express.static(app.root + '/app/public'));
});

require('./app/server/router')(app);
require('./app/server/routes')(app);

server.listen(app.get('port'), function(){
console.log("Express server listening on port %d in %s mode", app.get('port'), app.settings.env);
});
http.listen(app.get('port'), function()
{
console.log('Express server listening on port', app.get('port'));
});
8 changes: 5 additions & 3 deletions app/public/js/canvas.js
Expand Up @@ -14,15 +14,17 @@ function gui()
{
var _shape = 'Line';
var _stroke = {
color : '#'+Math.floor(Math.random()*16777215).toString(16),
color : '#'+(Math.random()*0xFFFFFF<<0).toString(16),
alpha : 100,
rainbow : true
}
while(_stroke.color.length < 7) _stroke.color += '0';
var _fill = {
color : '#'+Math.floor(Math.random()*16777215).toString(16),
color : '#'+(Math.random()*0xFFFFFF<<0).toString(16),
alpha : 100,
rainbow : true
}
while(_fill.color.length < 7) _fill.color += '0';
var _size = 25;
var _wiggle = 10;
var _onSave = function() {};
Expand Down Expand Up @@ -157,7 +159,7 @@ var drawTriangle = function(e)

function initSocket()
{
socket = io.connect('/doodle');
socket = io.connect(':3000/doodle');
socket.on('status', function (data) {
connections = data;
var i=0; for (p in connections) i++;
Expand Down
2 changes: 1 addition & 1 deletion app/public/vendor/JS3-0.3.1.js
Expand Up @@ -3,7 +3,7 @@
* JS3 - A Drawing & Tweening API for the JavaScript Canvas
* Version : 0.3.1
* Release Date : May 22 2012
* Documentation : http://js3.quietless.com/
* Documentation : http://js3.braitsch.io/
*
* Copyright 2012 Stephen Braitsch :: @braitsch
*
Expand Down
21 changes: 13 additions & 8 deletions app/server/modules/doodle-socket.js
@@ -1,29 +1,34 @@


module.exports = function()
{

var connections = { };

global.socket.of('/doodle').on('connection', function(socket) {

var nsp = io.of('/doodle');
nsp.on('connection', function(socket) {
// give each connected user a random color so it's easier to tell them apart in the chat log //
socket.on('draw-data', function(data) {
// append this socket's id so we know who is talking //
data.id = socket.id;
socket.broadcast.emit('draw-data', data);
});

socket.on('user-message', function(data) {
data.color = socket.color;
broadcastMessage('user-message', data);
});

function dispatchStatus()
{
brodcastMessage('status', connections);
broadcastMessage('status', connections);
}
function brodcastMessage(message, data)

function broadcastMessage(message, data)
{
// remove socket.emit if you don't want the sender to receive their own message //
socket.emit(message, data);
socket.broadcast.emit(message, data);
}

// handle connections & disconnections //
connections[socket.id] = {}; dispatchStatus();
socket.on('disconnect', function() {
Expand Down
File renamed without changes.
8 changes: 4 additions & 4 deletions app/server/views/canvas.jade
Expand Up @@ -13,16 +13,16 @@ block content
#gui

#footer
#credit Made by
&nbsp;
#credit
| Made by&nbsp;
a(href='http://twitter.com/braitsch') braitsch
&nbsp;-&nbsp;
| &nbsp;-&nbsp;
a(href='http://github.com/braitsch/doodle') Source on Github


block scripts
script(src='/socket.io/socket.io.js')
script(src='/vendor/jquery-2.1.0.min.js')
script(src='/vendor/dat.gui.min.js')
script(src='/vendor/jquery-2.1.0.min.js')
script(src='/vendor/JS3-0.3.1.js')
script(src='/js/canvas.js')
22 changes: 11 additions & 11 deletions package.json
@@ -1,23 +1,23 @@
{
"name": "node-doodle",
"version": "0.0.1",
"author": {
"name": "Stephen Braitsch",
"email": "stephen@quietless.com"
"version": "1.1.0",
"description": "http://doodle.braitsch.io",
"author": "Stephen Braitsch <stephen@braitsch.io>",
"website":{
"url": "http://doodle.braitsch.io"
},
"repository": {
"type": "git",
"url": "git@github.com:braitsch/doodle.git"
},
"private": true,
"dependencies": {
"express": "3.0.6",
"stylus": "0.50.0",
"jade": "1.9.2",
"mongodb": "1.2.7",
"socket.io": "0.9.14"
"express": "4.13.3",
"jade": "1.11.0",
"stylus": "0.52.4",
"vhost": "3.0.2",
"socket.io": "1.3.7"
},
"engines": {
"node": "0.10.29"
"node": "4.2.1"
}
}

0 comments on commit 461b21d

Please sign in to comment.