import { useEffect, useState } from "react"; import Peer from "simple-peer"; const useWebRTC = (stream) => { const [data, setData] = useState(null); useEffect(() => { let peer = new Peer({ initiator: true, stream: stream }); peer.on("signal", (data) => { // This is where you'd send the signal data to the server. // The server would then send it back to other peers who would then // use `peer.signal()` method to continue the connection negotiation. console.log("signal", data); }); peer.on("connect", () => { console.log("WebRTC connected"); }); peer.on("data", (data) => { // Received data from the server. const serverData = JSON.parse(data.toString()); setData(serverData); }); // Clean up return () => { peer.destroy(); }; }, [stream]); return data; }; export default useWebRTC;