mirror of
https://github.com/MercuryWorkshop/adrift.git
synced 2025-05-13 06:10:01 -04:00
add firebase peer discovery back to client
This commit is contained in:
parent
4cc21f0f3b
commit
aa838cbff6
2 changed files with 52 additions and 8 deletions
|
@ -71,12 +71,16 @@
|
||||||
set(peer, JSON.stringify(offer));
|
set(peer, JSON.stringify(offer));
|
||||||
|
|
||||||
onValue(peer, (snapshot) => {
|
onValue(peer, (snapshot) => {
|
||||||
const data = snapshot.val();
|
const str = snapshot.val();
|
||||||
console.log(data);
|
if (str) {
|
||||||
if (data && data.answer && data.candidates) {
|
console.log(str);
|
||||||
set(peer, null);
|
let data = JSON.parse(str);
|
||||||
const { answer, candidates } = JSON.parse(data);
|
console.log(data);
|
||||||
rtctransport?.answer(answer, candidates);
|
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();
|
const { answer, candidates } = await r.json();
|
||||||
await rtctransport?.answer(answer, candidates);
|
await rtctransport?.answer(answer, candidates);
|
||||||
}
|
}
|
||||||
connectDevHttp();
|
// connectDevHttp();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
|
|
|
@ -4,6 +4,10 @@ import expressWs from "express-ws";
|
||||||
|
|
||||||
import wrtc from "wrtc";
|
import wrtc from "wrtc";
|
||||||
import { Client } from "./client.js";
|
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 = {
|
const configuration = {
|
||||||
iceServers: [
|
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"));
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue