2009-01-20 51 views
1

我在節點上有一個「管理者」進程,還有一些工作進程。經理是持有到客戶端的所有連接的實際服務器。管理器接受所有傳入的數據包並將它們放入一個隊列中,然後工作進程將數據包拉出隊列,處理它們並生成結果。他們將結果發回給經理(通過將他們放入由經理讀取的另一個隊列中),但這裏是我陷入困境的地方:如何將結果發送到特定的套接字?當處理單個進程中的數據包處理時,這很容易,因爲當您收到一個數據包時,只需在上下文中抓取「傳輸」對象即可回覆數據包。但是,我將如何使用我正在使用的方法來做到這一點?Python /扭曲 - 發送到特定的套接字對象?

回答

3

這聽起來像你可能需要保留一個引用傳輸(或協議)以及剛剛在你的'事件'對象中的協議字節。通過這種方式,連接上出現的響應會以相同的連接出現。

如果事情不需要連續處理,您應該考慮設置可以並行處理數據的仿函數來消除排隊需求。請記住,您需要保護代碼的關鍵部分。

編輯: 從你關於評估你的服務器設計的其他問題來看,似乎並行處理可能不適合你的情況,所以我的第一個建議就是。