Guillermo Rauch: socket.io
JSConf
Channel
Interviewed Person
Guillermo Rauch
Description
No description available.
Transcript
my name is guillermo rauch i'm the creator of soccer ao also co-founder and cto of a startup called learnboost in the education space um so i assume as many of you might be aware of soccerio is a way of doing real-time applications on every browser
also a server now with a simple api that resembles websocket a lot so so far we've seen a lot of adoption and many applications deployed to production with it and many projects created with it and with that we've learned some lessons and we've um finally come up with a spec of how other people that might want socket ao and the socket io protocol on other servers and other languages might go about creating it
so the goal for the next release of socket ao that has been already pushed to uh github in an alpha state is sort of implementing this spec uh implementing the sort of new features that are going to be the foundation of socket ao and uh so that's what i'm gonna talk about today first of all uh i made some architectural changes the uh like i said the protocol the
socareo protocol which is what we need essentially to make websocket and long polling or other transports converge and maintain sessions for users so they we can for example buffer messages on the server and the client um we have we have made some api changes so that it's easier to get up and running uh we have an um a new way of doing tests which basically is um i created an uh node client that i'm
gonna use to test the node server and vice versa um so before each time you would run socket ao you were limited to storing every message and every user and every session id on one process of one computer so if that process were to die or you wanted to use two computers to handle a number a higher number of messages per second or a higher number of connected users you basically had to create a message
basically implement a message dispatcher yourself you would subscribe clients to a redis set or pop sub or you would use a rabbit mq so today soca is going to take care of that for you and also another important thing is many people have different needs as far as how much latency they can afford for their applications so some people might want to just completely ditch the flash transport because it adds a lot of bloat and they can afford to use
long polling as a fallback transport so um i've made the handshake process and i've made the socket interfaces more configurable so that you can easily decide what transports you want to use and other options i'm going to talk a little bit about the new api um so i we made uh some we made it easier to run a socket ao server that is not tied to a particular http server so before you have to instantiate it yourself
now you can simply call io.listen or pass it a board and you'll have your own standalone socket a server before you would have to pass this huge object of options with nested objects of options and now we have express like configuration so we can have you can have different settings for development and production which for a project like socket ao is extremely important sometimes your clients might be dropping
Video Details
- Duration
- 22:56
- Published
- January 20, 2013
- Channel
- JSConf
- Language
- ENGLISH
- Views
- 7,647
- Likes
- 130
Related Videos

Designing Even Larger (JavaScript) Applications - Malte Ubl | JSConf Hawaii 2020
JSConf
Interviewed: Malte Ubl

Malte Ubl & John Hjelmstad: A novel, efficient approach to JavaScript loading
JSConf
Interviewed: Malte Ubl

JavaScript Concurrency and the DOM - Kristofer Baxter and Malte Ubl - JSConf US 2018
JSConf
Interviewed: Malte Ubl
![[JSConfEU 2009] Malte Ubl: JavaScript 2 Enterprise Edition](/_next/image?url=https%3A%2F%2Fi.ytimg.com%2Fvi%2FlKaro_JB9qg%2Fhqdefault.jpg&w=3840&q=75)
[JSConfEU 2009] Malte Ubl: JavaScript 2 Enterprise Edition
JSConf
Interviewed: Malte Ubl