→ ZCBVXIRD: 謝謝! 09/21 13:02
※ 引述《ZCBVXIRD (Alonso)》之銘言:
: ※ [本文轉錄自 PHP 看板 #1L-MvmGK ]
: 作者: ZCBVXIRD (Alonso) 看板: PHP
: 標題: [請益] 關於TCP socket和HTTPPOST
: 時間: Wed Sep 16 21:28:14 2015
: 各位大大好
: 小弟目前在看Android系統上傳資料的方法
: (目前是用httppost 到後台寫php處理資料)
: 如果要比較頻繁、即時的上傳資料(資料size不能太大)
: 通常會用到TCP socket、HTTPPOST這兩種
: 我想要釐清兩者的優劣跟使用的時機
: 可是翻了許多資料,覺得無論如何都會是TCP socket比較好的樣子
: 因為少了HTTP標頭 也不用頻繁的連線、結束、重練,不斷丟request占用頻寬
: 速度、頻寬、耗能上都會是TCP socket來得有優勢
嘛...這的確是大學計網概課的標準答案(笑)
但現在REST之所以還是走http有很大一部分原因是因為方便 利用既有的協定就好
換句話說 實際情況要考慮的不只是理論上的速度而已
當然如果你真的很在意速度的話 用google的protocol buffer就可以了:
https://developers.google.com/protocol-buffers/
但其實我個人比較私心另外一個跟protocol buffer長的差不多 但快上好幾倍的
flat buffers: https://google.github.io/flatbuffers/
他當初是開發用來給遊戲用途的 所以適用於performance的環境
: (畢竟是比較底層的協議 有優勢是理所當然?)
: 這樣我就不知道,除了瀏覽網頁外,
: 還有甚麼樣的情況下用HTTP polling會比較好呢?
: 另外還有幾個小問題:
: 1.websocket,目前認知這是為browser設計的協議,
: 請問一般Android APP有辦法整合這功能嗎?(會不會問錯版了XD)
: 2.Websocket的連線流程(protocol behavior),是不是就跟TCP/IP socket一模一樣?
: 謝謝
第一個問題:用函式庫就好 我隨便就找到一個:http://autobahn.ws/android/
第二個問題:這樣問不太好 因為Websockets就是基於TCP的呀
他們兩個是在OSI的不同層
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.207.171
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1442416590.A.965.html