Angular and Websocket awesomeness

This commit is contained in:
Dominic Bosch 2015-03-24 23:35:54 +01:00
parent 462a9ab16c
commit 5e755a04d1
5 changed files with 38 additions and 31 deletions

View file

@ -3,15 +3,17 @@
<head>
<title>Awesome</title>
<script src="https://cdn.socket.io/socket.io-1.3.4.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
</head>
<body>
<ul>
<li data-ng-repeat="bleu in bleus">
{{ bleu.name }}: {{ bleu.rating }}
<li data-ng-repeat="bleu in bleus track by $index">
{{ bleu.name }}: <input type="number" data-ng-model="bleu.rating"></input><button data-ng-click="sendToServer(bleu)">BlappIt!</button>
</li>
</ul>
</body>
</html>

View file

@ -1,3 +1,3 @@
var app = angular.module( 'blapp' );
var app = angular.module( 'blapp', [] );

View file

@ -1,6 +1,12 @@
var blapp = angular.module( 'blapp', [] );
var blapp = angular.module( 'blapp' );
blapp.controller( 'blappCtrl', function ($scope) {
socket.on( 'ratingupdate', function (data) {
console.log(data);
$scope.$apply( function() {
$scope.bleus.push(data);
});
});
$scope.bleus = [
{
'name': 'Restaurant Sonne',
@ -11,4 +17,16 @@ blapp.controller( 'blappCtrl', function ($scope) {
'rating': 3.4
}
];
$scope.sendToServer = function( data ) {
socket.emit('newrating', data );
console.log( 'wuah!', data );
};
});
var socket = io.connect('http://localhost:8080');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});

View file

@ -1,24 +0,0 @@
0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'start' ]
2 info using npm@2.1.12
3 info using node@v0.10.25
4 verbose node symlink /usr/bin/node
5 verbose stack Error: missing script: start
5 verbose stack at run (/usr/local/lib/node_modules/npm/lib/run-script.js:130:19)
5 verbose stack at /usr/local/lib/node_modules/npm/lib/run-script.js:81:5
5 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:51:40
5 verbose stack at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:349:17)
5 verbose stack at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:126:33)
5 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:331:40
5 verbose stack at evalmachine.<anonymous>:268:14
5 verbose stack at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:102:5
5 verbose stack at Object.oncomplete (evalmachine.<anonymous>:107:15)
6 verbose cwd /home/dominic/projects/bleuguide
7 error Linux 3.13.0-46-generic
8 error argv "node" "/usr/local/bin/npm" "start"
9 error node v0.10.25
10 error npm v2.1.12
11 error missing script: start
12 error If you need help, you may report this error at:
12 error <http://github.com/npm/npm/issues>
13 verbose exit [ 1, true ]

View file

@ -1,4 +1,5 @@
var express = require( 'express' );
var express = require( 'express' ),
socketio = require('socket.io');
app = express();
app.get( '/', function( req, res ) {
@ -10,5 +11,15 @@ app.use( express.static( './client' ) );
exports.init = function( port ) {
console.log( 'Starting to listen on port ' + port );
app.listen( port );
var server = app.listen( port );
var io = socketio( server );
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('newrating', function (data) {
console.log(data);
data.rating += 1;
socket.emit( 'ratingupdate', data );
});
});
};