This repository has been archived by the owner on Jun 29, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
102 lines (75 loc) · 2.3 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, io = require('socket.io');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/hello', routes.hello);
app.get('/', routes.index);
app.listen(3080);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
// Chat
var chat = io.listen(app);
var clients = {};
chat.sockets.on('connection', function (socket) {
socket.on('setup', function(box) {
socket.emit('init_boxes', clients);
eval("clients.client_" + socket.id + "= {}")
eval("clients.client_" + socket.id + ".box = box")
eval("clients.client_" + socket.id + ".id = socket.id")
eval("chat.sockets.emit('new_box', clients.client_" + socket.id + ")");
socket.emit('ready')
});
socket.on('msg_room', function(room, data) {
console.log('hello world');
chat.sockets.to(room).emit('new_msg', room, data);
});
socket.on('move_box', function(mousePos) {
var room;
eval("clients.client_" + socket.id + ".box.x = mousePos.x")
eval("clients.client_" + socket.id + ".box.y = mousePos.y")
eval("chat.sockets.emit('move_box', clients.client_" + socket.id + ", socket.id)");
if (mousePos.x < 75) {
socket.join('room1')
room = 'room1';
}
else if (mousePos.x > 425) {
socket.join('room2')
room = 'room2';
}
else {
socket.leave('room1')
socket.leave('room2')
room = '';
}
socket.emit('change room', room);
});
socket.on('disconnect', function() {
var removed = 0;
for (var client in clients) {
client = eval("clients." + client)
if (client.id == socket.id) {
removed = client.id;
eval("delete clients.client_" + client.id);
}
};
chat.sockets.emit('remove_box', removed)
});
});