|
1 month ago | |
---|---|---|
.. | ||
tpv2 | 1 month ago | |
util | 1 month ago | |
wsv2 | 1 month ago | |
README.md | 1 month ago | |
conn.go | 1 month ago |
先实现 tcp 和 websocket 方式的线路连接。
id 号为 0 表示不需要回应的消息 id 号大于 65500 为内部使用。
建立连接后发送第一个数据包,包括下面的内容:
id(uint16)+version(uint8)+proto(string)+channel(string)+auth([]byte)
这个数据包必须是除混淆包(如果有的话)之后的第一个包,如果解析不成功则直接断开连接。 proto 的字符长度不能超过 255 channel 的字符长度不能超过 65535 auth 对应的是应用层的认证,如果没有的话可以为空,具体的认证方式由应用层决定。 auth 的数据结构由应用层自己决定。
id(uint16)
id(uint16)+cmdLen(uint8)+cmd(string)+data([]byte)
id(uint16)+state(uint8)+data([]byte)
其中 state 字节的最高位 1,需要 &0x7F 处理。
id(65502)+channel(string)