Skip to content

Instantly share code, notes, and snippets.

@matthewoestreich
Created July 3, 2020 15:47
Show Gist options
  • Select an option

  • Save matthewoestreich/34e3f4908f3fbef44bb58b1f9be46890 to your computer and use it in GitHub Desktop.

Select an option

Save matthewoestreich/34e3f4908f3fbef44bb58b1f9be46890 to your computer and use it in GitHub Desktop.
router.post('/createServer', function (req, res, next) {
try {
let server = req.body;
io.of(server.endpoint).on('connection', (socket) => {
console.log('Socket connected!');
socket.on('messageToServer', (message) => {
console.log('Message on socket');
let roomName = Object.keys(socket.rooms)[1];
let room = server.room.find((room) => {
return room.name == roomName;
});
room.history.push(message);
io.of(server.endpoint).to(roomName).emit('messageToClient', message);
});
socket.on('joinRoom', (roomToJoin) => {
console.log('Someone has joined room');
let roomToLeave = Object.keys(socket.rooms)[1];
let room = server.room.find((room) => {
return room.name == roomToJoin;
});
socket.leave(roomToLeave);
socket.join(roomToJoin);
socket.emit('chatHistory', room.history);
});
});
} catch (error) {
console.trace(error);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment