使用protobuf作為http通訊格式

2021-07-31 14:38:07 字數 1429 閱讀 6974

protobuf谷歌的開源序列化專案,類似的還有於json,xml等組織格式;據說protobuf的序列化占用的資料量最下,傳輸效率最高,並且作為伺服器開發者,只需要掌握.proto檔案的書寫方式,就可以生成不同語言的序列化物件。這次講解一下如何在伺服器和安卓客戶端之間利用protobuf傳輸資料。

測試的介面是登入功能:我寫的proto檔案如下:

}然後客戶端進行測試:

測試結果如下:

如果客戶端輸入漢字,那麼會會自動轉換成utf-8編碼,如果是英文或者數字,就不會;

如下客戶端輸入:

82727272 你好

服務端接收如下:

name: 「82727272」

pass: 「\344\275\240\345\245\275」

客戶端輸入:

82727272 abc

伺服器接收:

name: 「82727272」

pass: 「abc」

感覺用這個很方便們可以省去對欄位進行編碼嗎;並且protobuf可以判斷字元是否是utf-8編碼。因此在解碼具體字段值的時候也很方便;不需要我們自己去定義資料結構;

protobuf簡單使用

一 介紹 首先,protobuf是乙個開源專案,而且是後台很硬的開源專案。網上現有的大部分 至少80 開源專案,要麼是某人單幹 要麼是幾個閒雜人等合夥搞。而protobuf則不然,它是 鼎鼎大名的google公司開發出來,並且在google內部久經考驗的乙個東東。由此可見,它的作者絕非一般閒雜人等可...

protobuf 基本使用

linux apt install y protobuf compiler mac brew install protobuf 原始碼安裝 wget unzip protobuf all 3.5.1.zip cd protobuf 3.5.1 configure make make install ...

Python 使用request傳送http請求

requests.get headers response requests.post login headers headers,data data response requests.post login allow redirects false 注 若不禁止重定向,則當響應是302時,req...