解析握手包
握手是客戶端和服務端建立連接後做的第一件事情,用於和服務端進行協議的協商,目前支持協商的內容如下:
- 協議版本 - 目前我們僅支持一個版本,即:
1
- 數據包序列化方式 - 目前我們僅支持
protobuf
,值:1
- 客戶端平臺 - 目前僅爲
OpenAPI
,目前值爲:9
所以客戶端握手包在我們的協議版本升級的情況下永遠是一個固定的內容。
TCP 鏈接如何握手
客戶端發向服務端發送 2 個字節的握手包。
結構
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| ver | codec |
+-+-+-+-+-+-+-+-+
|platfo.|reserve|
+-+-+-+-+-+-+-+-+
字段 | 長度 (bit) | 說明 |
---|---|---|
ver | 4 | 協議版本,目前僅 1 一個版本 |
codec | 4 | Body 序列化類型:1 - protobuf |
platform | 4 | 0b1001 - OpenAPI |
reserve | 4 | 預留,當前爲 0b0000 |