app.js 874 B

12345678910111213141516171819202122232425262728293031323334
  1. const express = require('express');
  2. const app = express();
  3. const http = require('http');
  4. const { Server } = require('socket.io');
  5. const cors = require('cors');
  6. const logger = require('morgan');
  7. const helmet = require('helmet');
  8. const formatsLogger = app.get('env') === 'development' ? 'dev' : 'short';
  9. app.use(helmet());
  10. app.use(logger(formatsLogger));
  11. app.use(cors());
  12. const server = http.createServer(app);
  13. const io = new Server(server, {
  14. cors: {
  15. origin: '*',
  16. methods: ['GET', 'POST'],
  17. },
  18. });
  19. io.on('connection', (socket) => {
  20. console.log('connect', socket.id);
  21. socket.emit('me', socket.id);
  22. socket.on('call', ({ userToCall, signalData, from, name }) => {
  23. io.to(userToCall).emit('call', { signal: signalData, from, name });
  24. });
  25. socket.on('answer', (data) => {
  26. io.to(data.to).emit('accepted', { signal: data.signal });
  27. });
  28. });
  29. module.exports = server;