From 2e959fa81cf8fa7a019789046f97a928eb601540 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Mon, 13 Jan 2014 18:13:41 -0300 Subject: [PATCH] socket.io first prototype --- .jshintrc | 4 +++- app/views/includes/head.jade | 3 +++ app/views/index.jade | 7 +++++++ app/views/sockets/main.js | 14 ++++++++++++++ package.json | 4 +++- public/js/controllers/index.js | 11 ++++++++++- server.js | 7 ++++++- 7 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 app/views/sockets/main.js diff --git a/.jshintrc b/.jshintrc index 3959625..9e1a154 100644 --- a/.jshintrc +++ b/.jshintrc @@ -32,7 +32,9 @@ "afterEach", "it", "inject", - "expect" + "expect", + "$" + ], "indent": false, // Specify indentation spacing "devel": true, // Allow development statements e.g. `console.log();`. diff --git a/app/views/includes/head.jade b/app/views/includes/head.jade index 624dd9d..cdec0ae 100755 --- a/app/views/includes/head.jade +++ b/app/views/includes/head.jade @@ -13,3 +13,6 @@ head link(rel='stylesheet', href='/lib/bootstrap/dist/css/bootstrap.min.css') link(rel='stylesheet', href='/css/common.css') + script(src='/socket.io/socket.io.js') + script(src='/lib/jquery/jquery.js') + diff --git a/app/views/index.jade b/app/views/index.jade index a74f173..9e80548 100755 --- a/app/views/index.jade +++ b/app/views/index.jade @@ -2,3 +2,10 @@ extends layouts/default block content section.container(data-ng-view) + + div.row + div.span4 + Test + div.span4 + Test2 + diff --git a/app/views/sockets/main.js b/app/views/sockets/main.js new file mode 100644 index 0000000..5ac73e5 --- /dev/null +++ b/app/views/sockets/main.js @@ -0,0 +1,14 @@ +'use strict'; + +var Transaction = require('../../models/Transaction'); + +module.exports = function(app, io) { + io.set('log level', 1); // reduce logging + io.sockets.on('connection', function(socket) { + socket.emit('tx', Transaction.findOne()); + socket.on('my other event', function(data) { + console.log(data); + }); + }); +}; + diff --git a/package.json b/package.json index aeb1fe5..968afbb 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,9 @@ "grunt-nodemon": "~0.1.2", "grunt-mocha-test": "~0.8.1", "should": "~2.1.1", - "view-helpers": "latest" + "view-helpers": "latest", + "socket.io": "~0.9.16" + }, "devDependencies": { "grunt-contrib-watch": "latest", diff --git a/public/js/controllers/index.js b/public/js/controllers/index.js index 6043526..2cdf594 100755 --- a/public/js/controllers/index.js +++ b/public/js/controllers/index.js @@ -1,6 +1,15 @@ 'use strict'; -angular.module('mystery.system').controller('IndexController', ['$scope', 'Global', 'Index', function ($scope, Global, Index) { +angular.module('mystery.system').controller('IndexController', ['$scope', 'Global', 'Index', function($scope, Global, Index) { $scope.global = Global; $scope.index = Index; }]); + +$(document).ready(function() { + var socket = io.connect('http://localhost'); + socket.on('tx', function(data) { + console.log(data); + }); + +}); + diff --git a/server.js b/server.js index b12373a..ba879b4 100644 --- a/server.js +++ b/server.js @@ -56,9 +56,14 @@ require('./config/express')(app, db); //Bootstrap routes require('./config/routes')(app); +// socket.io +var server = require('http').createServer(app); +var io = require('socket.io').listen(server); +require('./app/views/sockets/main.js')(app,io); + //Start the app by listening on var port = process.env.PORT || config.port; -app.listen(port); +server.listen(port); console.log('Express app started on port ' + port); //expose app