Guillermo Rauch: socket.io

over 12 years agoJanuary 20, 2013
22:56
7,647 views
130 likes
J

JSConf

Channel

Interviewed Person

Guillermo Rauch

Description

No description available.

Transcript

Group by:

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

46 segments (grouped from 622 original)3473 words~17 min readGrouped by 30s intervals

Video Details

Duration
22:56
Published
January 20, 2013
Channel
JSConf
Language
ENGLISH
Views
7,647
Likes
130

Related Videos