看板 AndroidDev 關於我們 聯絡資訊
※ 引述《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
ZCBVXIRD: 謝謝! 09/21 13:02