Wraps Engine.IO to make it usable with the same API as WebSocket
npm install engine.io-as-websocketAuthor: Katsuyuki Ohmuro
Mailing List: http://lists.fanout.io/mailman/listinfo/fanout-users
Engine.IO-as-WebSocket is a small library that wraps engine.io-client to provide an interface similar to the browser WebSocket class. This makes it easy to use Engine.IO in otherwise pure-WebSocket code via dependency injection.
Apparently the Engine.IO client originally did mimic the WebSocket interface but for whatever reason its interface has drifted since then.
Engine.IO-as-WebSocket is offered under the MIT license. See the COPYING file.
For use in a browser script tag, clone this repository and build it:
```
git clone https://github.com/fanout/engine.io-as-websocket.git
cd engine.io-as-websocket
npm install
npm run build
The resulting file will be available at dist/engine.io-as-websocket.js (and dist/engine.io-as-websocket.min.js for a minified version).
or get the npm package:
``
npm install engine.io-as-websocket
The file will be available at node_modules/engine.io-as-websocket/dist/engine.io-as-websocket.js (and node_modules/engine.io-as-websocket/dist/engine.io-as-websocket.min.js for a minified version).
Engine.IO-as-WebSocket will become available through the EngineIoSocket global variable.
Add to your project using npm:
``
npm install engine.io-as-websocket --save
And then reference Engine.IO-as-WebSocket from your code file:
`javascript`
import EngineIoSocket from "engine.io-as-websocket";
or
`javascript`
const EngineIoSocket = require("engine.io-as-websocket").default;
Simply substitute WebSocket with EngineIoSocket in your code:
`html`
The onclose callback provides an event containing code and wasClean, however code is bogus and wasClean is always false`. This is because the Engine.IO client doesn't bubble up the values reported by its underlying WebSocket. Do not rely on clean closing at the transport level when using Engine.IO.