WebRTC – The New Era of Peer Communication
Things were a bit odd back in the days when somebody try to setup a peer to peer communication, like there should be a relay server, firewalls block all over, and if you wanted to use web technologies for communication you would be depending on a flash or applet application for proper communication establishment. And Then came ajax who brought an asynchronous communication pattern without the need for refreshing pages for each request and response. Wola ! that was a major save for real time communication application developers, which lead to more easy ways to develop chat applications and real-time notifications ! (also other things too, which I don’t care, or may be forgot). Good times !.
Well and there I was thinking to myself it couldn’t get any better, came WebSockets ! wow direct access for socket communication with a browser ! Woooow, full duplex communication with multiple channels over TCP !, i stress TCP !!!, that was something, but was quite usable though,,, who cares,, still got sockets. Well so most of the communications in real-time including bulk binary data transfer became no hassle for the browser ! and they added internal storage too, damn!.
And i thought well thats about it, what can you possibly bring to excite me now. Haha was i wrong ? well I couldn’t be wrong-er ! They came up with a stuff that literally brought tears to my eyes ! THE WEBRTC !. a joint venture from modern browser developers and all the community developers out there ! and official page quotes “WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.” and I quote “The latest evolution of Web-sockets and asynchronous browser communication with the capability of carrying bulk load of what ever (text,audio,video,or …) to another lazy browser like a mountain stream.”, (bye bye skype) hahah i know i know, am full of crap xD !.
But what attracted me the most is its capability to work with peer communication by implying a common protocol !, plus most data transfers after handshaking occurs direct peer to peer that is from a browser to another without a middle server wanting to monitor the contents and add **** to the data ! (we still need add an encryption though). So I was thinking how is it possible to go beyond the firewall and communicate directly !. Well actually the communication did have a server part too, Which uses STUN or TURN for communication initialisation with ICE. well look em up if are interested.
Anyway the things got exciting when i visited their resource archive. There were loads of examples tutorial and videos just to kick start you on the technology !. and a sample application demonstrating its capability named apprtc (Visit : https://apprtc.appspot.com/).
I definitely recommend this piece of technology, have a look you wont be disappointed.
Resources : https://webrtc.org/start/