app與后台通信協議


 通用的語言有很多種,例如英語和中文,在網絡的通訊中,通用的協議有很多,其中http是被最廣泛使用的。如果是私有的協議,那就只能自己設計了。


  用http是最方便的,如果是私有協議,包含協議的封裝和拆解,工作量大,前端程序員和后端程序員都要增加很多額外的工作量。而且私有協議對程序員的要求高,不適合從web網站轉過來的開發者。除非是手游,不然用http就好了。

(2)app和服務器通訊使用長連接還是短連接?


  假設現在通過手機撥打另外一個人的手機,手機通話費用非常便宜(甚至可以忽略),但是有兩個注意的地方:


  1.一台手機同一時間只能接聽一個電話。


  2.一台手機接聽電話前非常麻煩,要撥號啦,要等接聽,這需要一段時間。


  app和服務器通訊使用長連接還是短連接這個問題,可以等同於上面電話模型,是一直保持着通話,還是有需要時才撥號通話這個問題?

2)app和服務器通訊使用長連接還是短連接?


  假設現在通過手機撥打另外一個人的手機,手機通話費用非常便宜(甚至可以忽略),但是有兩個注意的地方:


  1.一台手機同一時間只能接聽一個電話。


  2.一台手機接聽電話前非常麻煩,要撥號啦,要等接聽,這需要一段時間。


  app和服務器通訊使用長連接還是短連接這個問題,可以等同於上面電話模型,是一直保持着通話,還是有需要時才撥號通話這個問題?


  當app和服務器通訊使用長連接,就相當於一直保持着通話,服務器能保持的通訊數量有限,如果通訊滿了,那其他app就不能和服務端通訊了。這種通訊方式,多數是使用socket或websocket連接長時間連接,對程序員的要求比較高,開發比較困難,除了手游和聊天推送服務外,不建議使用。


  當app和服務器通訊使用短連接,就相當於需要時才撥號通話。這種通訊方式,配合http協議,是現在主流的通訊方式,開發效率高,有大量的第三方資源,使用非常廣泛,推薦使用這種方式。

當app調用api的時候,只需要明確下面3點:


  1.這個api是干啥的(櫃員機例子中,是取款功能,還是查詢余額,還是轉賬)


  2.知道要輸入什么(櫃員機例子中,取款要輸入金錢)


  3.知道結果是什么(櫃員機例子中,取款是成功還是失敗)


  至於api內部是怎么處理的,app根本無需理會。


  api,一般是以http的形式調用的,通過http傳入參數,返回結果。其中,結果一般是以json格式返回的,因為json格式被眾多計算機語言支持,而且省流量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM