// Include dependencies var app = require('express')(); var http = require('http').createServer(app); var io = require('socket.io')(http) // Set variables const port = 9966; var users = 0; // Serve Client app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }); // Socket.io server side io.on('connection', function (socket) { // Log connects / disconnects console.log('User connected'); socket.emit('user_identify'); socket.on('user_login', function (username) { io.emit('message_receive', { 'username': 'Server', 'message': `${username} has connected`}); }); users++; socket.on('disconnect', function () { console.log('User disconnected'); users--; }); console.log(`Users online: ${users}`); // Handle messages socket.on('message_send', function (msg) { console.log(msg.username + ': ' + msg.message); io.emit('message_receive', msg); }); }); // Log on server http.listen(port, function() { console.log(`Listening on port ${port}`); });