PeerData
PeerData is a library for bidirectional peer-to-peer transfers of arbitrary data using RTCDataChannel. Simple WebRTC wrapper providing data channel abstraction.
WebRTC needs a messaging service to set up and maintain a WebRTC call.
The sender and receiver RTCPeerConnections run in web pages on different devices, and we need a way for them to communicate metadata.
For this, we use a signaling server: a server that can pass messages between WebRTC clients (peers).
PeerDataServer - An ready to use example of signaling server on Node using socket.io.
📖 ABOUT
Contributors:
Want to contribute ? Feel free to send pull requests!
Have problems, bugs, feature ideas?
We are using the github issue tracker to manage them.
📚 Documentation
For documentation (including examples), visit rafallorenz.com/peer-data
🚏 HOW TO USE
- Chat Example
- React Chat Example
- React Hook
Installation
$ npm install peer-data
Basic example
import PeerData from 'peer-data';
const servers = {
iceServers: [
{url: "stun:stun.1.google.com:19302"}
]
};
const constraints = {ordered: true};
const peerData = new PeerData(servers, constraints);
const room = peerData.connect('test-room');
room.on("participant", participant => {
participant.on("message", payload => console.log("message", payload));
participant.send('Hi mate! this is private message.');
})
For how to disconnect, close connection and handle errors please check documentation.
This package is released under the MIT license. See the complete license in the package: