});
app.get('/index.html', (req, res) => {
- if (req.session.views) {
- req.session.views++;
- } else {
- req.session.views = 1;
- }
res.sendFile(__dirname + '/index.html');
});
io.on('connection', (socket) => {
- console.log("Connection from client with " + socket.request.session.views + " views.");
+ // First things first, tell the client their name (if any)
+ if (socket.request.session.name) {
+ socket.emit('inform-name', socket.request.session.name);
+ }
// Replay old comments and images to a newly-joining client
+ socket.emit('reset');
state.comments.forEach((comment) => {
socket.emit('comment', comment)
});
socket.emit('image', image)
});
+ socket.on('set-name', (name) => {
+ console.log("Received set-name event: " + name);
+ socket.request.session.name = name;
+ socket.request.session.save();
+ });
+
// When any client comments, send that to all clients (including sender)
- socket.on('comment', (comment) => {
+ socket.on('comment', (comment_text) => {
+ comment = { name: socket.request.session.name,
+ text: comment_text }
io.emit('comment', comment);
state.comments.push(comment);
});