higher-level engine.io client.
io-server is the recommended socket server, but any server that has
channel events would work fine.
$ component install matthewmueller/io
var io = ;// Custom eventsio// Raw socket messagesiosocket// Send a messageio;
Initialize a new instance of
IO. IO will pass these parameters into engine.io.
IO supports url-based pooling or "rooms". If you connect with a pathname, IO will send the pathname to the server as a querystring. It's the responsibilty of the server to place these connections into rooms. io-server supports this kind of pooling.
// internally: new EngineIO('localhost:8080/?pathname=news/today');// different pool than `/news/today`// gets updates from both `/news/today` and `/news/tomorrow`
Why convert pathname to querystring?
Engine.io squelches pathnames but maintains query parameters, so IO converts any pathname to a querystring to that it can be obtained on the server-side.
Listen and respond to an
Access to the raw engine.io
socket. Useful to listen to events such as
message to all connected clients (including itself) with the given
Split a single socket into multiple channels. In other words,
#channel() creates a fresh socket without another connection.
channel is given, a unique id is used.
var io = ;var cheerio = io;var superagent = io;cheerio;superagent;cheerio;superagent;
You can also split an already split socket:
var script = io;var cheerio = script;console // scriptID:cheerio
Close the connection
Note you'll need serve