首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 與服務器通訊方式:HTTP/HTTPS 主流、Socket 長連接、選型指南

     編輯:程式設計綜合問答

主流方案對比

方案協議適用場景實現難度典型庫
HTTP/HTTPS 短連接HTTP/1.1, HTTP/2REST API、文件上傳下載、大多數業務請求低OkHttp, Retrofit, Volley, HttpURLConnection
WebSocketWS/WSS (HTTP 升級)即時通訊(IM)、推送通知、協作編輯、股票行情中OkHttp WebSocket, Scarlet, Java-WebSocket, Socket.IO (需服務端配合)
TCP Socket 長連接自定義協議遊戲、高頻交易、私有協議舊系統高(粘包/拆包/心跳/重連/序列化)Netty (Java), DotNetty (C#), libuv, 自寫
gRPCHTTP/2 + Protobuf微服務內部調用、強契約、流式 RPC中高grpc-java, grpc-kotlin, gRPC-Swift
MQTTMQTT over TCP/WebSocketIoT、移動推送、弱網環境中Eclipse Paho, EMQX Client

選型建議

  1. **90%+ 應用**:HTTPS + REST (JSON),配合 Retrofit + OkHttp,簡單、成熟、易調試、穿透防火牆/代理。
  2. **需要服務端主動推送**:WebSocket(或 Firebase FCM / 極光推送等第三方推送服務)。
  3. **極高頻/低延遲/二進制協議**:gRPC 或 自定義 TCP + Protobuf/FlatBuffers。
  4. **舊系統對接**:按對方協議文檔實現 Socket 解析。

安全基線

  • 強制 HTTPS(證書釘固 CertificatePinner 防中間人)。
  • 請求簽名/加密(防篡改/重放)。
  • Token 鑑權(JWT/Opaque Token),短過期 + Refresh Token。
  • 網絡安全配置 network_security_config.xml 明文禁用、域名白名單。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved