栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

javascript之ProtoBuf在websocket中的使用

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javascript之ProtoBuf在websocket中的使用

         

因为ProtoBuf的序列化效率和大小都非常好,所以它在网络通信上面应用越来越多;而webosocket也随着web3.0应用越来越广泛,而将这两个结合在一起的也会慢慢形成一种趋势;本人是为了测试自已写的一个C# websocket,所以在web上面结合pb也写了一个js实例:

1.首先下载protobuf.js

2.引入protobuf相关js文件

3.创建proto文件


1 package wenlipackage;2 syntax = "proto3";3 4 message WSMessage {  5     required string id = 1;6     required string content = 2;7     required string sender = 3;8     required string time = 4;9 }


js的protobuf格式类型有

 

Field typeExpected JS type (create, encode)Conversion (fromObject)
s-/u-/int32
s-/fixed32
number (32 bit integer)value | 0 if signed
value >>> 0 if unsigned
s-/u-/int64
s-/fixed64
Long-like (optimal)
number (53 bit integer)
Long.fromValue(value) with long.js
parseInt(value, 10) otherwise
float
double
numberNumber(value)
boolbooleanBoolean(value)
stringstringString(value)
bytesUint8Array (optimal)
Buffer (optimal under node)
Array. (8 bit integers)
base64.decode(value) if a string
Object with non-zero .length is assumed to be buffer-like
enumnumber (32 bit integer)Looks up the numeric id if a string
messageValid messageMessage.fromObject(value)

 4.初始化protobuf,对相关数据进行序列化和反序列化

 


 1 


WSMessage是一个解码编码器
wsmessage是具体的某个定义的proto实例是一个8位无符号的字节数组

5.连接到websocket并发送序列化的消息和接收反序列化的消息


 1 



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/245077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号