2012-02-11 28 views
1

我需要同時從多個Android手機實時讀取和繪製數據。我試圖建立一個服務器(在Python中),每個手機可以同時連接,它將使用matplotlib實時接收來自每個手機和情節的數據流。雖然我知道基本知識(單個請求服務器等),但我在套接字編程方面並不是很有經驗。我應該如何去做這件事?我查看了asyncore,SocketServer和其他模塊,但我不確定如何允許多個長期連接。我需要製作一個「服務器」,可以處理流式數據的多個長期連接

我在想我應該爲每個手機創建一個新線程(雖然我不確定是否可以安全地將套接字傳遞到新線程),但我也希望能夠使用子圖進行繪圖(例如, 4並排),雖然這並不重要。

我只需要一個正確的方向。小代碼示例讚賞來說明這個概念。

回答

1

由於Python的線程實現,使用線程可能會導致性能下降,具體取決於線程的功能。

我建議使用構建異步服務器的框架。一個這樣的框架是Gevent。使用異步事件循環,您可以進行計算,而其他「線程」(如果是gevent,greenlet)正在等待I/O並因此獲得更好的性能。該型號也是長時間閒置連接的理想選擇。

相關問題