{ "name": "engine.io", "version": "1.6.9", "description": "The realtime engine behind Socket.IO. Provides the foundation of a bidirectional connection between client and server", "main": "./lib/engine.io", "author": { "name": "Guillermo Rauch", "email": "guillermo@learnboost.com" }, "homepage": "https://github.com/socketio/engine.io", "contributors": [ { "name": "Eugen Dueck", "url": "https://github.com/EugenDueck" }, { "name": "Afshin Mehrabani", "url": "https://github.com/afshinm" }, { "name": "Christoph Dorn", "url": "https://github.com/cadorn" }, { "name": "Mark Mokryn", "email": "mokesmokes@gmail.com" } ], "license": "MIT", "dependencies": { "base64id": "0.1.0", "debug": "2.2.0", "ws": "1.0.1", "engine.io-parser": "1.2.4", "accepts": "1.1.4" }, "devDependencies": { "engine.io-client": "1.6.9", "expect.js": "0.2.0", "mocha": "2.3.4", "s": "0.1.1", "superagent": "0.15.4" }, "scripts": { "test": "make test" }, "repository": { "type": "git", "url": "git+ssh://git@github.com/socketio/engine.io.git" }, "readme": "\n# Engine.IO: the realtime engine\n\n[](http://travis-ci.org/socketio/engine.io)\n[](http://badge.fury.io/js/engine.io)\n\n`Engine.IO` is the implementation of transport-based\ncross-browser/cross-device bi-directional communication layer for\n[Socket.IO](http://github.com/socketio/socket.io).\n\n## How to use\n\n### Server\n\n#### (A) Listening on a port\n\n```js\nvar engine = require('engine.io');\nvar server = engine.listen(80);\n\nserver.on('connection', function(socket){\n socket.send('utf 8 string');\n socket.send(new Buffer([0, 1, 2, 3, 4, 5])); // binary data\n});\n```\n\n#### (B) Intercepting requests for a http.Server\n\n```js\nvar engine = require('engine.io');\nvar http = require('http').createServer().listen(3000);\nvar server = engine.attach(http);\n\nserver.on('connection', function (socket) {\n socket.on('message', function(data){ });\n socket.on('close', function(){ });\n});\n```\n\n#### (C) Passing in requests\n\n```js\nvar engine = require('engine.io');\nvar server = new engine.Server();\n\nserver.on('connection', function(socket){\n socket.send('hi');\n});\n\n// …\nhttpServer.on('upgrade', function(req, socket, head){\n server.handleUpgrade(req, socket, head);\n});\nhttpServer.on('request', function(req, res){\n server.handleRequest(req, res);\n});\n```\n\n### Client\n\n```html\n\n\n```\n\nFor more information on the client refer to the\n[engine-client](http://github.com/learnboost/engine.io-client) repository.\n\n## What features does it have?\n\n- **Maximum reliability**. Connections are established even in the presence of:\n - proxies and load balancers.\n - personal firewall and antivirus software.\n - for more information refer to **Goals** and **Architecture** sections\n- **Minimal client size** aided by:\n - lazy loading of flash transports.\n - lack of redundant transports.\n- **Scalable**\n - load balancer friendly\n- **Future proof**\n- **100% Node.JS core style**\n - No API sugar (left for higher level projects)\n - Written in readable vanilla JavaScript\n\n## API\n\n### Server\n\n