Optimization
This commit is contained in:
parent
27e517238f
commit
311dfe6bda
|
@ -4,6 +4,8 @@ let http = require("http");
|
||||||
let express = require("express");
|
let express = require("express");
|
||||||
let compression = require("compression");
|
let compression = require("compression");
|
||||||
let {resolve} = require("path");
|
let {resolve} = require("path");
|
||||||
|
let auth = require("express-basic-auth");
|
||||||
|
|
||||||
const { termoutput } = require("./config");
|
const { termoutput } = require("./config");
|
||||||
let server = http.createServer();
|
let server = http.createServer();
|
||||||
const stats = require("./stats");
|
const stats = require("./stats");
|
||||||
|
@ -21,6 +23,13 @@ server.addListener("error",(err)=> {
|
||||||
})
|
})
|
||||||
exports.http = server;
|
exports.http = server;
|
||||||
|
|
||||||
|
let authorize = auth({
|
||||||
|
users:{
|
||||||
|
saqut: "yum81633"
|
||||||
|
},
|
||||||
|
challenge: true
|
||||||
|
});
|
||||||
|
|
||||||
app.get("/script",(request, response)=>{
|
app.get("/script",(request, response)=>{
|
||||||
response.sendFile(resolve("./script/index.js"))
|
response.sendFile(resolve("./script/index.js"))
|
||||||
});
|
});
|
||||||
|
@ -35,10 +44,10 @@ app.get("/stream",(request, response)=>{
|
||||||
});
|
});
|
||||||
app.use("/stream",express.static(resolve("./public")));
|
app.use("/stream",express.static(resolve("./public")));
|
||||||
|
|
||||||
app.get("/",(request, response)=>{
|
app.get("/",authorize,(request, response)=>{
|
||||||
response.sendFile(resolve("./script/index.html"))
|
response.sendFile(resolve("./script/index.html"))
|
||||||
});
|
});
|
||||||
app.post("/stats",(request, response)=>{
|
app.post("/stats",authorize,(request, response)=>{
|
||||||
response.json(stats.others);
|
response.json(stats.others);
|
||||||
});
|
});
|
||||||
app.get("*",(request, response)=>{
|
app.get("*",(request, response)=>{
|
||||||
|
|
|
@ -78,7 +78,7 @@ function Room()
|
||||||
/**
|
/**
|
||||||
* @param {Room} room
|
* @param {Room} room
|
||||||
*/
|
*/
|
||||||
Room.prototype.publish = function(room){
|
Room.prototype.publish = function(){
|
||||||
stats.mwse_rooms++;
|
stats.mwse_rooms++;
|
||||||
Room.rooms.set(this.id, this);
|
Room.rooms.set(this.id, this);
|
||||||
ROOM_CREATED(this);
|
ROOM_CREATED(this);
|
||||||
|
|
|
@ -125,7 +125,7 @@ export default class Room extends EventTarget
|
||||||
return count;
|
return count;
|
||||||
}else{
|
}else{
|
||||||
let {status, peers} = await this.mwse.EventPooling.request({
|
let {status, peers} = await this.mwse.EventPooling.request({
|
||||||
type:'room/peer-count',
|
type:'room-peers',
|
||||||
roomId: this.roomId,
|
roomId: this.roomId,
|
||||||
filter: filter || {}
|
filter: filter || {}
|
||||||
}) as {status:"success"|"fail", peers: string[]};
|
}) as {status:"success"|"fail", peers: string[]};
|
||||||
|
|
2
index.js
2
index.js
|
@ -6,7 +6,7 @@ let {randomUUID} = require("crypto");
|
||||||
/**
|
/**
|
||||||
* Use Round Robin algorithm for cluster process load balancer
|
* Use Round Robin algorithm for cluster process load balancer
|
||||||
*/
|
*/
|
||||||
cluster.schedulingPolicy = cluster.SCHED_RR;
|
// cluster.schedulingPolicy = cluster.SCHED_RR;
|
||||||
|
|
||||||
async function main()
|
async function main()
|
||||||
{
|
{
|
||||||
|
|
11
package.json
11
package.json
|
@ -41,12 +41,13 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"compression": "^1.7.4",
|
"compression": "^1.7.4",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"joi": "^17.7.0",
|
"express-basic-auth": "^1.2.1",
|
||||||
"knex": "^2.3.0",
|
"joi": "^17.9.2",
|
||||||
"sqlite3": "^5.1.2",
|
"knex": "^2.4.2",
|
||||||
"systemjs": "^6.13.0",
|
"sqlite3": "^5.1.6",
|
||||||
|
"systemjs": "^6.14.1",
|
||||||
"terminal-kit": "^3.0.0",
|
"terminal-kit": "^3.0.0",
|
||||||
"typescript": "^4.9.3",
|
"typescript": "^5.1.3",
|
||||||
"webrtc-adapter": "^8.2.2",
|
"webrtc-adapter": "^8.2.2",
|
||||||
"websocket": "^1.0.34"
|
"websocket": "^1.0.34"
|
||||||
},
|
},
|
||||||
|
|
|
@ -669,8 +669,13 @@
|
||||||
let meters = new Map();
|
let meters = new Map();
|
||||||
async function reloadData()
|
async function reloadData()
|
||||||
{
|
{
|
||||||
let data = await fetchData();
|
while(1)
|
||||||
setTimeout(reloadData, 3000)
|
{
|
||||||
|
await fetchData();
|
||||||
|
await new Promise(ok => {
|
||||||
|
setTimeout(() => ok(), 3000)
|
||||||
|
})
|
||||||
|
}
|
||||||
};
|
};
|
||||||
let isFirst = true;
|
let isFirst = true;
|
||||||
async function fetchData()
|
async function fetchData()
|
||||||
|
|
4113
script/index.js
4113
script/index.js
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue