Build a real-time file transfer app using WebRTC data channels. Understand ArrayBuffers, Blobs, Buffers, Chunks & More!
Preview this Course - GET COUPON CODE
What you'll learn
- Learn how to send files using WebRTC like a true grandmaster
- Understand the File API, FileReader API, Streams API and more!
- Master the concepts surrounding buffering and send queues
- Work with ArrayBuffers, Blobs and chunks to send file data
- Learn the difference of ArrayBuffer and Blobs
- Learn the different methods to read, chunk and send files over WebRTC
- Learn about bufferedAmount and the bufferedAmountLowThreshold properties
- Establish a WebRTC connection to transfer files over a data channel
- Understand why the FileReader API is not great for large files
- Understand compression and use Pako to compress file data
- Learn why metadata is crucial for a receiver to interpret and reconstruct the file binary data
- Establish a WebRTC connection from scratch, including STUN, ICE, Offers and Answers
- Learn how to compress binary file data to make sending them much faster
- Master the concept of sending files over the internet
- Join the ranks of elite developers who truly understand how Files are sent over the internet
- Understand why you sometimes want to use FileReader to manipulate the binary file data
- Understand the File API and chunking
- Code up a Node.js server from scratch to transfer files
- Use WebSockets to establish signaling data for the WebRTC channel
- Master the FileReader API
- Gracefully close a WebRTC connection, the right way!
- Understand how a WebRTC data channel and underlying connection should gracefully close
- Identify what API to use in order to send files using WebRTC
- Understand the differences between using the FileReader API, Streams API and Blobs
- Know how to implement compression to send files even faster
- And a whole bunch more!!!
- Understand what the binaryType property is for data channels in WebRTC
- Set up an HTTP Node server from scratch
- Create a WebSocket server for WebRTC signaling
- Use AJAX (the modern Fetch API) to manage state
- Understand WebRTC data channels and the bufferedamountlow event
- Master the concepts of Blobs vs ArrayBuffers vs UInt8Arrays
- And a bunch more!!!
