This project is Node.js bindings for libdatachannel library.
npm install node-datachannel
node-datachannel
targets N-API version 8 and supports Node.js v18.20 and above. It is tested on Linux, Windows and MacOS. For N-API compatibility please check here.
(1) For Linux musl + libc
node-datachannel
supports Electron.
Please check electron demo
WebRTC polyfills to be used for libraries like simple-peer
.
Please check here for more
Please check actual situation here
WebSocket Client & ServerIntegrated WebSocket Client & Server is available, which can be used separately or for signaling.
For an example usage, check here
import nodeDataChannel from 'node-datachannel'; // Log Level nodeDataChannel.initLogger('Debug'); // Integrated WebSocket available and can be used for signaling etc // const ws = new nodeDataChannel.WebSocket(); let dc1 = null; let dc2 = null; let peer1 = new nodeDataChannel.PeerConnection('Peer1', { iceServers: ['stun:stun.l.google.com:19302'], }); peer1.onLocalDescription((sdp, type) => { peer2.setRemoteDescription(sdp, type); }); peer1.onLocalCandidate((candidate, mid) => { peer2.addRemoteCandidate(candidate, mid); }); let peer2 = new nodeDataChannel.PeerConnection('Peer2', { iceServers: ['stun:stun.l.google.com:19302'], }); peer2.onLocalDescription((sdp, type) => { peer1.setRemoteDescription(sdp, type); }); peer2.onLocalCandidate((candidate, mid) => { peer1.addRemoteCandidate(candidate, mid); }); peer2.onDataChannel((dc) => { dc2 = dc; dc2.onMessage((msg) => { console.log('Peer2 Received Msg:', msg); }); dc2.sendMessage('Hello From Peer2'); }); dc1 = peer1.createDataChannel('test'); dc1.onOpen(() => { dc1.sendMessage('Hello from Peer1'); }); dc1.onMessage((msg) => { console.log('Peer1 Received Msg:', msg); });
Please check examples folder
npm run test # Unit tests node test/connectivity.js # Connectivity
Please check here
Please check docs page
Contributions are welcome!
Thanks to Streamr for supporting this project by being a Sponsor!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4