2019-03-07

  • 计算机存储
  • 010101010001011010101010101
  • 00000001 11111111
  • 1 字节占 8位
  • 11111111 表示 255 ,8位 0-255
  • 256 怎么表示? 000000001 00000000 2个字节表示一个数 short ,char 类型
  • int 需要多少个字节 4个字节,string 需要多少个字节 (取决于编码,不展开)
  • long 64 字节

如何表示一段数据

0011010100111000
00110101 00111000
53 56
13624
'58'

二进制片段并无意义,因为不同解析规则对应不同的结果

4位类型--4位长度--内容

如何设计一个协议

 1byte(版本号) | 4byte(协义总长度) | 4byte(序列号) | 1byte(服务编号) | 1byte(消息体类型) | 1byte
  所采用的压缩算法 | 1byte 序列化规则 | 1byte 平台(.net java ...) | n byte消息体 | 5byte(分界符) 
  • class 的协议
class User{
  private a1:"",
  static geta(){}
}
4byte数据类型|4 byte类名长度|n byte 类名| n byte 类属性长度|1 byte 属性类型|。。。。
  • 字段协议
User.prototype={a:1,b:"你好啊"}

1 byte 类型(int)|4 byte int存储|1 byte 类型 (string)| 4 byte (string长度) | n byte (string 内容)

协议不是单方面的,需要传输双方约定

node 将遇到什么挑战

node 要做服务端,要解决的问题太多,语言特性,类型约定,包管理之类的,与java 相比相差甚远。
node 只能做客户端

类型解析

你可能感兴趣的:(2019-03-07)