2013-11-15 80 views
0

我目前正在設計一個需要數據傳輸的應用程序。我目前正在開發將構建將通過網絡級服務發送的數據包的客戶端軟件。網絡傳輸的數據處理

我應該使用什麼數據類型進行網絡傳輸?我目前正在思考是否應該使用可以通過Python輕鬆操作(創建/讀取/等)的物理數據文件(.dat),或僅使用內部數據。從管理和組織的角度來看,我認爲基於文件的數據可能是在網絡層面最容易操作和處理的。 如果我更傾向於內部(Python)數據處理方法,我的出發點應該是什麼?我應該看字典嗎?首要目標是保持數據量最小。使用基於文件的數據,我相信我只會看實際傳輸的幾個字節。本地平臺將成爲Windows,但我也想看看我的移動立場(Android/iOS)的選項。

該程序的目的是數據錄入。用戶輸入將被記錄,打包,加密併發送(通過WAN)到服務器,在那裏它將被存儲在數據庫中供以後查詢。

回答

0

絕對有最佳實踐。

作爲第一個建議,您應該將實施與您通過網絡發送/接收數據時使用的表示分開。不要使用Python字典。使用廣泛接受的序列化格式,如JSON,ASN.1或協議緩衝區。確保你清楚地知道你需要通過網絡發送什麼,需求是什麼(延遲,吞吐量,編碼/解碼的CPU時間等),並選擇適合他們的東西。

其次,使用事實上或法律上的標準來通過網絡進行通信。不管是REST,AMQP還是其他任何東西 - 不可能分辨出哪個最合適,因爲你的問題太廣泛了。但要確保你沒有實現自己的內部adhoc應用層協議 - 你只會讓你的生活和同事的生活變得更加艱難。

我建議你多想想你想做什麼,並在稍後發表更具體的問題。

+0

謝謝你的迴應。該應用程序對我來說將是一個新的步驟,並且將會有相當一部分的學習體驗。我沒有意識到(儘管我可以輕易認爲)有數據傳輸的標準。我在網絡方面有一些歷史,但從硬件角度來看更多。你的回答給了我足夠的研究起點。謝謝。 – vbiqvitovs