root / HServer / 00.Server / 00.Program / node_modules / socket.io-parser / Readme.md
이력 | 보기 | 이력해설 | 다운로드 (2.05 KB)
1 | 39 | HKM | |
---|---|---|---|
2 | # socket.io-parser |
||
3 | |||
4 | [](http://travis-ci.org/socketio/socket.io-parser) |
||
5 | [](http://badge.fury.io/js/socket.io-parser) |
||
6 | |||
7 | A socket.io encoder and decoder written in JavaScript complying with version `3` |
||
8 | of [socket.io-protocol](https://github.com/socketio/socket.io-protocol). |
||
9 | Used 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 |
||
23 | var parser = require('socket.io-parser'); |
||
24 | var encoder = new parser.Encoder(); |
||
25 | var packet = { |
||
26 | type: parser.EVENT, |
||
27 | data: 'test-packet', |
||
28 | id: 13 |
||
29 | }; |
||
30 | encoder.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 |
||
47 | var parser = require('socket.io-parser'); |
||
48 | var encoder = new parser.Encoder(); |
||
49 | var packet = { |
||
50 | type: parser.BINARY_EVENT, |
||
51 | data: {i: new Buffer(1234), j: new Blob([new ArrayBuffer(2)])} |
||
52 | id: 15 |
||
53 | }; |
||
54 | encoder.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 | ``` |
||
68 | See the test suite for more examples of how socket.io-parser is used. |
||
69 | |||
70 | |||
71 | ## License |
||
72 | |||
73 | MIT |