-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathchat-server.js
More file actions
32 lines (27 loc) · 1.05 KB
/
chat-server.js
File metadata and controls
32 lines (27 loc) · 1.05 KB
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
var io = require('socket.io').listen(5000);
var clients = {};
var verboseServer = false; //Good for debugging the server
verboseServer && console.log("ChatServer Started"); //If Verbose Debug
io.sockets.on('connection', function (socket) {
verboseServer && console.log("New Connection"); //If Verbose Debug
var userName;
socket.on('connection name',function(user){
verboseServer && console.log("Connection Name"); //If Verbose Debug
userName = user.name;
clients[user.name] = socket;
io.sockets.emit('new user', user.name + " has joined.");
});
socket.on('message', function(msg){
verboseServer && console.log("New msg"); //If Verbose Debug
io.sockets.emit('message', msg);
});
socket.on('private message', function(msg){
verboseServer && console.log("New PM"); //If Verbose Debug
fromMsg = {from:userName, txt:msg.txt}
clients[msg.to].emit('private message', fromMsg);
});
socket.on('disconnect', function(){
verboseServer && console.log("disconnect"); //If Verbose Debug
delete clients[userName];
});
});