1. 程式人生 > >Websocket,ProtoBuffer,Hightlight,JSON 等,最近遇到的一些知識點小結

Websocket,ProtoBuffer,Hightlight,JSON 等,最近遇到的一些知識點小結

bin scrip new acc 設置 知識 通過 對數 undefined

websocket

websocket 支持但不僅限於web場景,是一種封裝好的socket通信協議,可以用來做C-S通信。
可以通過設置 binaryType 來指定通信的數據流格式,從而達到簡潔高效傳輸:

ws_account.binaryType = ‘arraybuffer‘;

protobuffer

protobuffer 是一種數據協議,同等角色有 XML, JSON 。最大的有點是節省傳輸字節,然而數據可讀性差,需要通過定義proto數據結構來解析和封裝buffer數據。
使用protobuffer需要對數據進行字節操作,javascript中的 ArrayBuffer, Nodejs中的Buffer。javascript 中 ArrayBuffer 通常通過DataView來讀寫

var buf = new Int8Array([1,2,3,4,5,6,7,8]);
var buffer = new ArrayBuffer(buf.length + 4);
var dv = new DataView(buffer);
dv.setInt32(0, msgid, true);
for (let i=0;i<buf.length;i++) {
    dv.setInt8(4+i, buf[i]);
}

json 展開顯示

JSON 自帶展開美化功能,結合highlight等插件快速美化 json 對象

JSON.stringify(msg, undefined, 4);

Websocket,ProtoBuffer,Hightlight,JSON 等,最近遇到的一些知識點小結