react-native-webrtc has brought WebRTC to React Native. PeerJS is a simple API to work with WebRTC in the Browser.
I made it so that PeerJS works with react-native-webrtc in a React Native application.
Install react-native-webrtc according to their install guide. Then add react-native-peerjs:
yarn add react-native-peerjs
Just refer to the PeerJS documentation. Here is an example:
import Peer from 'react-native-peerjs';
const localPeer = new Peer();
localPeer.on('error', console.log);
localPeer.on('open', localPeerId => {
console.log('Local peer open with ID', localPeerId);
const remotePeer = new Peer();
remotePeer.on('error', console.log);
remotePeer.on('open', remotePeerId => {
console.log('Remote peer open with ID', remotePeerId);
const conn = remotePeer.connect(localPeerId);
conn.on('error', console.log);
conn.on('open', () => {
console.log('Remote peer has opened connection.');
console.log('conn', conn);
conn.on('data', data => console.log('Received from local peer', data));
console.log('Remote peer sending data.');
conn.send('Hello, this is the REMOTE peer!');
});
});
});
localPeer.on('connection', conn => {
console.log('Local peer has received connection.');
conn.on('error', console.log);
conn.on('open', () => {
console.log('Local peer has opened connection.');
console.log('conn', conn);
conn.on('data', data => console.log('Received from remote peer', data));
console.log('Local peer sending data.');
conn.send('Hello, this is the LOCAL peer!');
});
});