2012-03-21 38 views
0

我正在研究如何構建一個python應用程序來執行圖像處理。客戶端(不是網絡瀏覽器)將圖像和一些文本數據發送到服務器,服務器的響應基於接收到的圖像。將圖像發送到服務器:http POST與自定義tcp協議

一種方法是使用Web服務器+ WSGI模塊,並讓客戶端發出HTTP POST請求(使用multipart/form-data)。然後http服務器'解決'上傳的圖像和程序可以使用的其他數據。

另一種方法是創建一個只發送所需數據並在應用程序內處理的協議。應用程序將會做所有事情(在端口上監聽等)。

其中之一是一種突出的「最佳」方式(如果是,哪一種?),還是更偏好(或者有更好的方法)?

回答

0

我相信它更符合您的需求,圖像的大小以及您對網絡編程的一般知識。

在簡單性方面,使用WSGI將是相當簡單的發佈圖像的網絡服務器,你就不必擔心處理連接器,插座,差錯處理因忙於網絡端口等

另一個支持這種方法的觀點是,如果你已經有了一個Web服務器,比如說包含一個瀏覽器客戶端,那麼你可以輕鬆地重用這個「特性」。現在可能不是你的需求之一,但門是敞開的。

這將是我的選擇。

另外,在Python中,你有大量的web框架可供選擇,從Django這可能是一個巨大的矯枉過正,你可能需要更簡單的東西,如http://flask.pocoo.org/這可能只是適合你的需要和設置起來非常簡單。

0

在我看來,HTTP是發送文件或大數據的理想協議,並且它非常常見,很容易適應任何情況。如果您使用自行創建的協議,當您獲得其他客戶端需求時(例如Web API),您可能會發現很難進行轉換。可能關於HTTP缺乏即時性和敏捷性的討論會讓你對選擇HTTP猶豫不決,但主要是關於即時消息和服務器推送的東西,還有更好的協議。但是當談到穩定性和靈活性時,HTTP總是一個不錯的選擇。