websocket下不玩字符,玩结构,这个就需要自己模拟C的各种数据结构和类型,那么js object是可以实现的。
结构体样本
struct CMD_GP_GetConfig
{
WORD wSystemOSKind;
WORD wKindID;
};
js自定义数据结构
js无结构体,弱数据类型。
//数据类型
var DataTypeEnum = {
BYTE: 1,
WORD: 2,
DWORD: 3,
LONG: 4,
TCHAR: 5
}
//自定义结构体
var CMD_GP_GetConfig =function(){
this.wSystemOSKind= { DataType: DataTypeEnum.WORD, DataSize:2, value: 0 },
this.wKindID= { DataType: DataTypeEnum.WORD, DataSize:2, value: 0 }
}
使用
//自定义websocket数据类封装,实现读写函数
let DataPacket = new structSendPacket();
//构造包体
var config = new CMD_GP_GetConfig();
config.wSystemOSKind.value = 3;
config.wKindID.value = 500;
//封装数据
for (var key in config) {
//按数据类型压入包
DataPacket.setDataByType(config[key].DataT