mirror of
https://github.com/balkian/Web4.0.git
synced 2024-10-05 19:31:43 +00:00
92 lines
2.2 KiB
JavaScript
Executable File
92 lines
2.2 KiB
JavaScript
Executable File
var Hook = require('hook.io-web40').Web40Hook,
|
|
express = require('express'),
|
|
stylus = require('stylus'),
|
|
nib = require('nib'),
|
|
app = express.createServer(),
|
|
io = require('socket.io').listen(app);
|
|
|
|
app.configure(function () {
|
|
app.use(stylus.middleware({ src: __dirname + '/public', compile: compile }));
|
|
app.use(express.static(__dirname + '/public'));
|
|
app.set('views', __dirname);
|
|
app.set('view engine', 'jade');
|
|
|
|
function compile (str, path) {
|
|
return stylus(str)
|
|
.set('filename', path)
|
|
.use(nib());
|
|
};
|
|
})
|
|
|
|
app.get('/', function (req, res) {
|
|
res.render('index', { layout: false });
|
|
});
|
|
|
|
/*
|
|
* Hook
|
|
*/
|
|
var monkey = new Hook({
|
|
name: "monkey-hook",
|
|
debug: true,
|
|
host: "0.0.0.0",
|
|
port: 1337
|
|
|
|
});
|
|
|
|
monkey.on('hook::ready', function () {
|
|
console.log('I am online :D');
|
|
});
|
|
/**
|
|
* App listen.
|
|
*/
|
|
|
|
app.listen(3000, function () {
|
|
var addr = app.address();
|
|
console.log('app listening on http://' + addr.address + ':' + addr.port);
|
|
});
|
|
|
|
monkey.listen();
|
|
|
|
var nicknames = {};
|
|
|
|
io.sockets.on('connection', function (socket) {
|
|
socket.on('user message', function (data) {
|
|
console.log(data);
|
|
});
|
|
socket.on('execute', function (data,fn) {
|
|
var name = data['name'];
|
|
var payload = data['payload'];
|
|
console.log('Executing '+name+' with '+payload);
|
|
try{
|
|
monkey.emit(name,payload,fn);
|
|
}catch(err){
|
|
console.log("Error:"+err);
|
|
}
|
|
});
|
|
socket.on('client', function(data,fn){
|
|
var id = data['id'];
|
|
var name = data['name'];
|
|
var payload = data['payload'];
|
|
console.log('Clienting '+name+'@'+id+' with '+payload);
|
|
try{
|
|
nicknames[id].emit(name,payload,fn);
|
|
}catch(err){
|
|
console.log("Error:"+err);
|
|
}
|
|
});
|
|
socket.on('nickname', function (nick, fn) {
|
|
if (nicknames[nick]) {
|
|
fn(true);
|
|
} else {
|
|
fn(false);
|
|
socket.nickname = nick;
|
|
nicknames[nick] = socket;
|
|
}
|
|
});
|
|
socket.on('disconnect', function () {
|
|
if (!socket.nickname) return;
|
|
delete nicknames[socket.nickname];
|
|
});
|
|
});
|
|
|