first commit

This commit is contained in:
s.golasch
2023-08-01 14:20:25 +02:00
commit e142078e83
17 changed files with 639 additions and 0 deletions

29
server.js Normal file
View File

@@ -0,0 +1,29 @@
const fs = require('fs')
const path = require('path')
const http = require('http')
const express = require('express')
const serve = require('express-static')
const SocketIo = require('socket.io')
const ss = require('socket.io-stream')
const PORT = 3000
const app = express()
const server = http.Server(app)
const io = SocketIo(server)
module.exports = function (streamCb, myEmitter) {
// add socket io client libs from node_modules
app.get('/socket.io-stream.js', (req, res) => fs.createReadStream(require.resolve('socket.io-stream/socket.io-stream.js')).pipe(res))
app.get('/socket.io.js', (req, res) => fs.createReadStream(require.resolve('socket.io-client/dist/socket.io.js')).pipe(res))
app.get('/socket.io.js.map', (req, res) => fs.createReadStream(require.resolve('socket.io-client/dist/socket.io.js.map')).pipe(res))
app.get('/adapter.js', (req, res) => fs.createReadStream(require.resolve('webrtc-adapter/out/adapter.js')).pipe(res))
// static ressources
app.use(serve(path.join(__dirname, 'public')))
// configure socket.io stream interface (add callbacks for audio stream & return text)
io.on('connection', socket => {
ss(socket).on('audio', streamCb)
myEmitter.on('text', text => ss(socket).emit('news', ss.createStream(), text))
})
// start the server
server.listen(PORT, () => console.log('Server is running at http://localhost:%s - You´re good to go!', server.address().port))
}