socketioMEANseed/server/node_modules/socket.io-parser/Readme.md
server/node_modules/socket.io-parser/Readme.mdRaw
1
2# socket.io-parser
3
4[](http://travis-ci.org/socketio/socket.io-parser)
5[](http://badge.fury.io/js/socket.io-parser)
6
7A socket.io encoder and decoder written in JavaScript complying with version `3`
8of [socket.io-protocol](https://github.com/socketio/socket.io-protocol).
9Used by [socket.io](https://github.com/automattic/socket.io) and
10[socket.io-client](https://github.com/automattic/socket.io-client).
11
12## Parser API
13
14 socket.io-parser is the reference implementation of socket.io-protocol. Read
15 the full API here:
16 [socket.io-protocol](https://github.com/learnboost/socket.io-protocol).
17
18## Example Usage
19
20### Encoding and decoding a packet
21
22```js
23var parser = require('socket.io-parser');
24var encoder = new parser.Encoder();
25var packet = {
26 type: parser.EVENT,
27 data: 'test-packet',
28 id: 13
29};
30encoder.encode(packet, function(encodedPackets) {
31 var decoder = new parser.Decoder();
32 decoder.on('decoded', function(decodedPacket) {
33 // decodedPacket.type == parser.EVENT
34 // decodedPacket.data == 'test-packet'
35 // decodedPacket.id == 13
36 });
37
38 for (var i = 0; i < encodedPackets.length; i++) {
39 decoder.add(encodedPackets[i]);
40 }
41});
42```
43
44### Encoding and decoding a packet with binary data
45
46```js
47var parser = require('socket.io-parser');
48var encoder = new parser.Encoder();
49var packet = {
50 type: parser.BINARY_EVENT,
51 data: {i: new Buffer(1234), j: new Blob([new ArrayBuffer(2)])}
52 id: 15
53};
54encoder.encode(packet, function(encodedPackets) {
55 var decoder = new parser.Decoder();
56 decoder.on('decoded', function(decodedPacket) {
57 // decodedPacket.type == parser.BINARY_EVENTEVENT
58 // Buffer.isBuffer(decodedPacket.data.i) == true
59 // Buffer.isBuffer(decodedPacket.data.j) == true
60 // decodedPacket.id == 15
61 });
62
63 for (var i = 0; i < encodedPackets.length; i++) {
64 decoder.add(encodedPackets[i]);
65 }
66});
67```
68See the test suite for more examples of how socket.io-parser is used.
69
70
71## License
72
73MIT