FastDFS服務端與客戶端通訊協議
1. 通訊協議介紹
FastDFS服務端與客戶端通訊時候採用的是自定義的通訊協議,如下圖所示
協議包由兩部分組成:header和body
- header共10字節,格式如下:
- 8 bytes body length
- 1 byte command
- 1 byte status
- body數據包格式由取決於具體的命令,body可以爲空
2. 命令代碼和通訊狀態代碼
2.1 Tracker管理命令代碼
名稱 | 命令 |
---|---|
刪除storage | 93 |
獲取下載節點QUERY_FETCH_ONE | 102 |
獲取更新節點QUERY_UPDATE | 103 |
不按組獲取存儲節點 | 101 |
按組獲取存儲節點 | 104 |
獲取組列表 | 91 |
獲取存儲節點列表 | 92 |
2.2 Store文件上傳命令代碼
名稱 | 命令 | 說明 |
---|---|---|
文件上傳 | 11 | 一般的文件上傳,上傳後爲主文件 |
上傳附屬文件 | 21 | “上傳從文件文件,比如主文件爲xxx.jpg,從文件(縮略圖)爲xxx-150_150.jpg” |
刪除文件 | 12 | 刪除文件 |
設置文件元數據 | 13 | 上傳文件創建日期,標籤等 |
文件下載 | 14 | |
獲取文件元數據 | 15 | |
查詢文件信息 | 22 | 查詢文件信息 |
創建支持斷點續傳的文件 | 23 | 創建一個支持斷點續傳的文件 |
斷點續傳 | 24 | 上傳可斷點上傳的文件,如將大文件切爲幾份,分開上傳 |
文件修改 | 34 | 修改支持斷點上傳的文件 |
清除文件 | 36 | 截取(清除)支持斷點上傳的文件 |
2.3 報文通訊狀態代碼
名稱 | 代碼 |
---|---|
客戶端關閉連接命令 | 82 |
連接狀態檢查命令 | 111 |
服務端正確返回報文 | 100 |
其他篇章文章
1. FastDFS文件系統簡介與架構原理
2. 文件上傳原理
3. 文件下載原理
4. FastDFS文件同步原理與文件目錄簡介
5. 服務端與客戶端之間的通訊協議(自定義的通訊協議)