Files
reflector/app/components/webrtc.js
2023-07-18 11:50:11 +07:00

37 lines
993 B
JavaScript

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;