mirror of
https://github.com/guilhermewerner/chat
synced 2025-06-15 19:04:18 +00:00
43 lines
917 B
JavaScript
43 lines
917 B
JavaScript
require('dotenv/config');
|
|
|
|
const express = require('express');
|
|
const path = require('path');
|
|
|
|
const app = express();
|
|
|
|
/**
|
|
* Declare HTTP and Websocket protocols
|
|
*/
|
|
const server = require('http').createServer(app);
|
|
const io = require('socket.io')(server);
|
|
|
|
app.use(express.static(path.join(__dirname, '../Public')));
|
|
|
|
/**
|
|
* Configure html view engine
|
|
*/
|
|
app.set('views', path.join(__dirname, '../Public'));
|
|
app.engine('html', require('ejs').renderFile);
|
|
app.set('view engine', 'html');
|
|
|
|
app.use('/', (req, res) => {
|
|
res.render('index.html')
|
|
});
|
|
|
|
let messages = [];
|
|
|
|
io.on('connection', socket => {
|
|
console.log(`Socket ${socket.id} connected`);
|
|
|
|
socket.emit('previous-messages', messages);
|
|
|
|
socket.on('send-message', data => {
|
|
messages.push(data);
|
|
socket.broadcast.emit('receive-message', data);
|
|
})
|
|
})
|
|
|
|
server.listen(3333, () =>
|
|
console.log(`Server listen on port: 3333`)
|
|
);
|