Projektmanagement-Game/Webservice/server.js

48 lines
1.1 KiB
JavaScript
Raw Normal View History

2021-05-26 14:26:05 +00:00
let express = require('express');
let app = express();
let server = require('http').createServer(app);
let io = require('socket.io')(server);
let port = parseInt(process.env.PORT) || 5000;
server.listen(port, function () {
console.info('Webserver running');
console.info('Port %d', port);
});
app.use(express.static(__dirname + '/../public'));
io.on('connection', function (socket) {
let addedUser = false;
socket.on('add user', function (username) {
socket.username = username;
addedUser = true;
socket.emit('login');
socket.broadcast.emit('user joined', socket.username);
console.info("[JOINED ] " + socket.username);
});
socket.on('new message', function (data) {
socket.broadcast.emit('new message', {
username: socket.username,
message: data
});
console.info("[MESSAGE] " + socket.username + ": " + data);
});
socket.on('disconnect', function () {
if (addedUser) {
socket.broadcast.emit('user left', socket.username);
}
console.info("[LEFT ] " + socket.username);
});
});