@cruxpay/peerjs
v1.0.3
Published
PeerJS client
Downloads
8
Readme
PeerJS: Simple peer-to-peer with WebRTC
https://t.me/joinchat/ENhPuhTvhm8WlIxTjQf7Og
PeerJS provides a complete, configurable, and easy-to-use peer-to-peer API built on top of WebRTC, supporting both data channels and media streams.
Setup
Include the library
with npm:
npm install peerjs
and the usage:
import Peer from 'peerjs';
Create a Peer
const peer = new Peer('pick-an-id');
// You can pick your own id or omit the id if you want to get a random one from the server.
Data connections
Connect
const conn = peer.connect('another-peers-id');
conn.on('open', () => {
conn.send('hi!');
});
Receive
peer.on('connection', (conn) => {
conn.on('data', (data) => {
// Will print 'hi!'
console.log(data);
});
});
Media calls
Call
navigator.mediaDevices.getUserMedia({video: true, audio: true}, (stream) => {
const call = peer.call('another-peers-id', stream);
call.on('stream', (remoteStream) => {
// Show stream in some <video> element.
});
}, (err) => {
console.error('Failed to get local stream', err);
});
Answer
peer.on('call', (call) => {
navigator.mediaDevices.getUserMedia({video: true, audio: true}, (stream) => {
call.answer(stream); // Answer the call with an A/V stream.
call.on('stream', (remoteStream) => {
// Show stream in some <video> element.
});
}, (err) => {
console.error('Failed to get local stream', err);
});
});
Running tests
npm test
Links
Documentation / API Reference
PeerServer
Discuss PeerJS on our Google Group
Changelog
Contributors
This project exists thanks to all the people who contribute. [Contribute].
Backers
Thank you to all our backers! [Become a backer]
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
License
PeerJS is licensed under the MIT License.