2012-11-30 52 views
-1

我正在處理客戶端/服務器模型,用於傳輸從客戶端站點(監視文件更改的窗口tkinter客戶端的窗口)讀取的一些數據並將其傳輸到服務器來處理數據(將數據拆分成列表並用它做一些事情)。 什麼是你眼中最好的解決方案。其中一個必要條件是它需要安全,所以我儘管將自己寫的證書包含在一些ssl加密中,並將其包含在客戶端中。我應該在python中使用純套接字編程還是像gevent或扭曲的東西?客戶端僅在觀看文件發生更改時才連接,查看數據,連接到服務器,傳輸並斷開連接。可以每小時發生10次,或者每天發生10次,但這不是真正可以計算的。用於傳輸列表的最佳python客戶端/服務器解決方案

對於類似的問題有任何建議和經驗。

感謝戴夫

UPDATE FYI:總會有隻有1個服務器和客戶端1!

更新2:也就是有可能包括SSL方式,只有誰不擁有該證書的一部分,客戶端可以連接到這個特定的服務器,從而防止他人連接到它?

回答

1

我只想通過HTTP使用JSON,使事情變得簡單。它看起來並不需要太多的原始性能,並且所有用於JSON和HTTP的庫都已包含在stdlib中。

無需運行Apache或任何東西,你可以從內部的Python運行一個非常微小的Web服務器:

http://docs.python.org/2/library/wsgiref.html#module-wsgiref.simple_server

您可以使用客戶端證書與SSL,但很多人都不知道,所以它可能不容易設置。相反,您可以選擇一個足夠大的隨機字符串作爲客戶端必須包含在請求中的「密碼」。如果你想獲得所有幻想,你可以使用TOTP一次性密碼。

+0

所以你建議只使用類似flask的東西來構建一個帶有ssl的小型http服務器並將其作爲json數據處理。事情是數據是CSV數據,我只想在服務器端處理它,以確保其處理正確,而不是從客戶端修改或不正確。 – dave

+0

在Web服務器後面運行一個小型Web框架來處理SSL是沒有選擇的,因爲我們沒有訪問此服務器上的Apache。 – dave

+0

感謝您的更新,只是通過basehttpserver和ssl讀過,但感謝wsgi的建議 – dave

相關問題