add firebase peer discovery back to client

This commit is contained in:
CoolElectronics 2023-08-12 13:42:38 -04:00
parent 4cc21f0f3b
commit aa838cbff6
No known key found for this signature in database
GPG key ID: F63593D168636C50
2 changed files with 52 additions and 8 deletions

View file

@ -71,12 +71,16 @@
set(peer, JSON.stringify(offer));
onValue(peer, (snapshot) => {
const data = snapshot.val();
console.log(data);
if (data && data.answer && data.candidates) {
set(peer, null);
const { answer, candidates } = JSON.parse(data);
rtctransport?.answer(answer, candidates);
const str = snapshot.val();
if (str) {
console.log(str);
let data = JSON.parse(str);
console.log(data);
if (data && data.answer && data.candidates) {
set(peer, null);
const { answer, candidates } = data;
rtctransport?.answer(answer, candidates);
}
}
});
}
@ -97,7 +101,7 @@
const { answer, candidates } = await r.json();
await rtctransport?.answer(answer, candidates);
}
connectDevHttp();
// connectDevHttp();
</script>
<h1>

View file

@ -4,6 +4,10 @@ import expressWs from "express-ws";
import wrtc from "wrtc";
import { Client } from "./client.js";
import { signInWithEmailAndPassword } from "firebase/auth";
import { auth } from "../firebase-config.js";
import { getDatabase, onValue, ref, set } from "firebase/database";
const configuration = {
iceServers: [
@ -141,4 +145,40 @@ app.ws("/dev-ws", (ws, req) => {
});
});
app.listen(3000, () => console.log("listening"));
async function connectFirebase() {
let creds = await signInWithEmailAndPassword(
auth,
"test@test.com",
"123456"
);
const db = getDatabase();
let peer = ref(db, `/peers/${creds.user.uid}`);
set(peer, "");
onValue(peer, (snapshot) => {
const str = snapshot.val();
if (str) {
let data = JSON.parse(str);
console.log(data);
console.log(data.offer);
console.log(data.localCandidates);
if (data && data.offer && data.localCandidates) {
console.log("answerng");
answerRtc(data, (answer) => {
console.log("answering");
set(peer, JSON.stringify(answer));
})
}
}
});
}
connectFirebase();
// app.listen(3000, () => console.log("listening"));