接收和傳送大量資料
受限於手機的連網效能,我們無法實現一次性的傳送大量資料(如的傳送和接收),因此必須實現資料的分段接收和傳送.
例子:
客戶端採用http,伺服器用php編寫
1.接收資料
涉及到伺服器和客戶端的編碼方式問題,若只傳送位元組流,不做任何的編譯碼操作,則可有效的避免這一問題.一次接收資料的流程:
客戶端傳送讀取資料請求-->伺服器返回資料的段數-->客戶端讀取第一段-->客戶端讀取第二段......-->讀取完成,客戶端處理資料.
2.傳送資料
傳送資料的流程正好跟接收資料相反.
傳送資料時採用post,模擬pc上上傳檔案的方法
一次傳送**
string type = "multipart/form-data;" + "boundary=" + boundary; //模擬form 傳送
byte result = null;
try
result = baos.tobytearray();
baos.close();
} catch (exception e) finally
if (hc != null)
} catch (exception e)
}return result;
rawdata 為傳送的資料,其組成方式為
分隔符號
專案分隔符號
專案分隔符號..
..
分隔符號可隨機生成,每一項用分隔符號分隔,使用者可任意向裡面新增專案.
--7d4a6d158c9
content-disposition: form-data; name="offset" //此次傳送的資料在整個檔案中的下標
6144
--7d4a6d158c9
content-disposition: form-data; name="length"//此次傳送的資料長度
444
--7d4a6d158c9
content-disposition: form-data; name="total" //總的資料長度
content-disposition: form-data; name="file"; filename="camare.jpg" //檔名可任意寫
鯻q}魁碩08]t刊檍?x凗侜w?? //傳送的資料段
--7d4a6d158c9--
Python編寫FTP客戶端
之前寫過一篇ftp服務端的文章,這篇介紹一下客戶端吧。在使用虛擬機器的時候,由於虛擬機器工具沒安裝成功,所以我決定用ftp在主機與虛擬機器之間傳送檔案,在虛擬機器上開啟ftp服務,然後把客戶端放在主機上,當然也可以顛倒過來。服務端請參考 python實現ftp伺服器 import ftplib im...
關於客戶端編寫的問題
最近在敲大話設計模式中的c 我是在看uml圖去敲 的.由於uml圖中沒有畫出客戶端的圖.導致寫客戶端的 時,很是費力.不清楚該怎麼寫.沒有一點的章法.總是蒙幾句.最後執行出來了,感覺就是 對的,也不知道自己是怎麼寫出來的.讓我從頭寫一次.和上次的感覺還是一樣的.我仔細分析了一下.關於為什麼不會寫客戶...
關於客戶端編寫的問題
最近在敲大話設計模式中的c 我是在看uml圖去敲 的.由於uml圖中沒有畫出客戶端的圖.導致寫客戶端的 時,很是費力.不清楚該怎麼寫.沒有一點的章法.總是蒙幾句.最後執行出來了,感覺就是 對的,也不知道自己是怎麼寫出來的.讓我從頭寫一次.和上次的感覺還是一樣的.我仔細分析了一下.關於為什麼不會寫客戶...