Object 內置對象

對象WebSocketMessage

websocket 消息對象

創建方法:

1 2 3
var ws = require("ws"); var msg = new ws.Message();

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Message|new Message()|TEXT;BINARY|value;params;type;data;body;length;stream;lastError|read();readAll();write();json();pack();end();isEnded();clear();sendTo();readFrom()] [<this>WebSocketMessage|new WebSocketMessage()|masked;compress;maxSize] [object] <:- [Message] [Message] <:- [WebSocketMessage] Message new Message() TEXT BINARY value params type data body length stream lastError read() readAll() write() json() pack() end() isEnded() clear() sendTo() readFrom() WebSocketMessage new WebSocketMessage() masked compress maxSize object toString() toJSON()

構造函數

WebSocketMessage

包處理消息對象構造函數

1 2 3 4
new WebSocketMessage(Integer type = ws.BINARY, Boolean masked = true, Boolean compress = false, Integer maxSize = 67108864);

調用參數:

  • type: Integer, websocket 消息類型,缺省為websocket.BINARY
  • masked: Boolean, websocket 消息掩碼,缺省為true
  • compress: Boolean, 標記消息是否壓縮,缺省為false
  • maxSize: Integer, 最大包尺寸,以MB 為單位,缺省為67108864(64M)

常量

TEXT

指定消息類型1,代表一個文本類型

1
const WebSocketMessage.TEXT = 1;

BINARY

指定消息類型2,代表一個二進制類型

1
const WebSocketMessage.BINARY = 2;

成員屬性

masked

Boolean, 查詢和讀取websocket 掩碼標記,缺省為true

1
Boolean WebSocketMessage.masked;

compress

Boolean, 查詢和讀取websocket 壓縮狀態,缺省為false

1
Boolean WebSocketMessage.compress;

maxSize

Integer, 查詢和設置最大包尺寸,以字節為單位,缺省為67108864(64M)

1
Integer WebSocketMessage.maxSize;

value

String, 消息的基本內容

1
String WebSocketMessage.value;

params

NArray, 消息的基本參數

1
readonly NArray WebSocketMessage.params;

type

Integer, 消息類型

1
Integer WebSocketMessage.type;

data

Value, 查詢消息的數據,此屬性會根據content-type 返回不同數據,為text 時,返回文本,為 json 時返回 json,其它時候返回二進制

1
readonly Value WebSocketMessage.data;

body

SeekableStream, 包含消息數據部分的流對象

1
SeekableStream WebSocketMessage.body;

length

Long, 消息數據部分的長度

1
readonly Long WebSocketMessage.length;

stream

Stream, 查詢消息readFrom 時的流對象

1
readonly Stream WebSocketMessage.stream;

lastError

String, 查詢和設置消息處理的最後錯誤

1
String WebSocketMessage.lastError;

成員函數

read

從流內讀取指定大小的數據,此方法為body 相應方法的別名

1
Buffer WebSocketMessage.read(Integer bytes = -1) async;

調用參數:

  • bytes: Integer, 指定要讀取的數據量,缺省為讀取隨機大小的數據塊,讀出的數據尺寸取決於設備

返回結果:

  • Buffer, 返回從流內讀取的數據,若無數據可讀,或者連接中斷,則返回null

readAll

從流內讀取剩餘的全部數據,此方法為body 相應方法的別名

1
Buffer WebSocketMessage.readAll() async;

返回結果:

  • Buffer, 返回從流內讀取的數據,若無數據可讀,或者連接中斷,則返回null

write

寫入給定的數據,此方法為body 相應方法的別名

1
WebSocketMessage.write(Buffer data) async;

調用參數:

  • data: Buffer, 給定要寫入的數據

json

以JSON 編碼寫入給定的數據

1
Value WebSocketMessage.json(Value data);

調用參數:

  • data: Value, 給定要寫入的數據

返回結果:

  • Value, 此方法不會返回數據

以JSON 編碼解析消息中的數據

1
Value WebSocketMessage.json();

返回結果:

  • Value, 返回解析的結果

pack

msgpack 編碼寫入給定的數據

1
Value WebSocketMessage.pack(Value data);

調用參數:

  • data: Value, 給定要寫入的數據

返回結果:

  • Value, 此方法不會返回數據

msgpack 編碼解析消息中的數據

1
Value WebSocketMessage.pack();

返回結果:

  • Value, 返回解析的結果

end

設置當前消息處理結束,Chain 處理器不再繼續後面的事務

1
WebSocketMessage.end();

isEnded

查詢當前消息是否結束

1
Boolean WebSocketMessage.isEnded();

返回結果:

  • Boolean, 結束則返回true

clear

清除消息的內容

1
WebSocketMessage.clear();

sendTo

發送格式化消息到給定的流對象

1
WebSocketMessage.sendTo(Stream stm) async;

調用參數:

  • stm: Stream, 指定接收格式化消息的流對象

readFrom

從給定的緩存流對像中讀取格式化消息,並解析填充對象

1
WebSocketMessage.readFrom(Stream stm) async;

調用參數:

  • stm: Stream, 指定讀取格式化消息的流對象

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String WebSocketMessage.toString();

返回結果:

  • String, 返回對象的字符串表示

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

1
Value WebSocketMessage.toJSON(String key = "");

調用參數:

  • key: String, 未使用

返回結果:

  • Value, 返回包含可JSON 序列化的值