프로젝트

일반

사용자정보

통계
| 개정판:

root / HServer / 00.Server / 00.Program / node_modules / socket.io-parser / Readme.md

이력 | 보기 | 이력해설 | 다운로드 (2.05 KB)

1

    
2
# socket.io-parser
3

    
4
[![Build Status](https://secure.travis-ci.org/socketio/socket.io-parser.svg?branch=master)](http://travis-ci.org/socketio/socket.io-parser)
5
[![NPM version](https://badge.fury.io/js/socket.io-parser.svg)](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