From 455f6ed6b3e0d839aeec4f36f48294ae83622ac4 Mon Sep 17 00:00:00 2001 From: shockrah Date: Sun, 6 Dec 2020 14:49:46 -0800 Subject: [PATCH] simple echo server for sake of testing connection-ability --- rtc-server/.gitignore | 4 +++- rtc-server/server.js | 48 +++++++++++++++++++++++++++++-------------- 2 files changed, 36 insertions(+), 16 deletions(-) diff --git a/rtc-server/.gitignore b/rtc-server/.gitignore index 40b878d..bd5cfc3 100644 --- a/rtc-server/.gitignore +++ b/rtc-server/.gitignore @@ -1 +1,3 @@ -node_modules/ \ No newline at end of file +node_modules/ +cert.pem +key.pem diff --git a/rtc-server/server.js b/rtc-server/server.js index 8638c5b..dbf82ce 100644 --- a/rtc-server/server.js +++ b/rtc-server/server.js @@ -1,22 +1,40 @@ -const express = require('express') -const socketio = require('socket.io')({ - serveClient: false +'use strict'; + +const https = require('https') +const WebSocket = require('ws') +const WebSocketServer = require('wss') +const fs = require('fs') + +const serverConfig = { + key: fs.readFileSync('key.pem'), + cert: fs.readFileSync('cert.pem') +} + +const httpServer = https.createServer(serverConfig, (req, res) => { + res.writeHead(200) + res.end() }) -const app = express() +httpServer.listen(3535, '0.0.0.0') -var http = require('http').Server(app); -var io = require('socket.io')(http) +// Now for the websockets server -const port = process.env.PORT || 3000 +const wss = new WebSocketServer({server: httpServer}) +wss.on('connection', function(socket) { + socket.on('message', function(message) { + console.log('Socket received message: ', message) + wss.broadcast(message) + }) +}) -// Signals and shit yo -io.on('connection', function(socket) { - // do some kind of header auth checking here - console.log('New connection') +wss.broadcast = function(data) { + console.log('Cuurent clients list: ', this.clients) + this.clients.forEach(client => { + if(client.readyState == WebSocket.OPEN) { + client.send(data) + } + }) +} - socket.on('create or join', function(room_id) { - let room = io.sockets.adapter.rooms - }) -}) \ No newline at end of file +console.log('serving on https://localhost:3535') \ No newline at end of file