server.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. var app = require('express')();
  2. var server = require('http').createServer(app);
  3. var webRTC = require('webrtc.io').listen(server);
  4. app.all('/*', function(req, res, next) {
  5. res.header("Access-Control-Allow-Origin", "*");
  6. res.header("Access-Control-Allow-Headers", "X-Requested-With");
  7. next();
  8. });
  9. var port = process.env.PORT || 8080;
  10. server.listen(port);
  11. app.get('/', function(req, res) {
  12. res.sendFile(__dirname + '/index.html');
  13. });
  14. app.get('/style.css', function(req, res) {
  15. res.sendFile(__dirname + '/style.css');
  16. });
  17. app.get('/script.js', function(req, res) {
  18. res.sendFile(__dirname + '/script.js');
  19. });
  20. app.get('/webrtc.io.js', function(req, res) {
  21. res.sendFile(__dirname + '/webrtc.io.js');
  22. });
  23. webRTC.rtc.on('chat_msg', function(data, socket) {
  24. var roomList = webRTC.rtc.rooms[data.room] || [];
  25. for (var i = 0; i < roomList.length; i++) {
  26. var socketId = roomList[i];
  27. if (socketId !== socket.id) {
  28. var soc = webRTC.rtc.getSocket(socketId);
  29. if (soc) {
  30. soc.send(JSON.stringify({
  31. "eventName": "receive_chat_msg",
  32. "data": {
  33. "messages": data.messages,
  34. "color": data.color
  35. }
  36. }), function(error) {
  37. if (error) {
  38. console.log(error);
  39. }
  40. });
  41. }
  42. }
  43. }
  44. });