arnaucube
arnaucube/raspberryGPIOhtmlserverPublic Self-hosted repository
raspberryGPIOhtmlserver/node_modules/socket.io-parser/Readme.md
node_modules/socket.io-parser/Readme.mdRaw
 1
 2# socket.io-parser
 3
 4[![Build Status](https://secure.travis-ci.org/Automattic/socket.io-parser.svg)](http://travis-ci.org/Automattic/socket.io-parser)
 5[![NPM version](https://badge.fury.io/js/socket.io-parser.svg)](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/learnboost/socket.io-protocol).
 9Used by [socket.io](https://github.com/learnboost/socket.io) and
10[socket.io-client](https://github.com/learnboost/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