DataChannel.js » A WebRTC Library for Data Sharing
Copyright © 2013 Muaz Khan<@muazkh> » @WebRTC Experiments » Google+ » What's New?
Open New DataChannel Connection
Text Chat |
Share Files |
Feedback
DataChannel.js Features:
- Direct messages — to any user using his `user-id`
- Eject/Reject any user — using his `user-id`
- Leave any room (i.e. data session) or close entire session using `leave` method
- File size is limitless!
- Text message length is limitless!
- Size of data is also limitless!
- Fallback to firebase/socket.io/websockets/etc.
- Users' presence detection using `onleave`
- Latency detection
- Multi-longest strings/files concurrent transmission
How to use DataChannel.js?
<script src="https://www.webrtc-experiment.com/DataChannel.js"> </script> <input type="text" id="chat-input" disabled style="font-size: 2em; width: 98%;"><br /> <div id="chat-output"></div> <script> var chatOutput = document.getElementById('chat-output'); var chatInput = document.getElementById('chat-input'); chatInput.onkeypress = function(e) { if (e.keyCode != 13) return; channel.send(this.value); chatOutput.innerHTML = 'Me: ' + this.value + '<hr />' + chatOutput.innerHTML; this.value = ''; }; </script> <script> var channel = new DataChannel('Session Unique Identifier'); channel.onopen = function(userid) { chatInput.disabled = false; chatInput.value = 'Hi, ' + userid; chatInput.focus(); }; channel.onmessage = function(message, userid) { chatOutput.innerHTML = userid + ': ' + message + '<hr />' + chatOutput.innerHTML; }; channel.onleave = function(userid) { chatOutput.innerHTML = userid + ' Left.<hr />' + chatOutput.innerHTML; }; </script>