2
所以現在我有rpyc客戶端A刮擦數據,當它找到特定的數據時,它將它發送到我的rpyc服務器,然後將其存儲。假設我也有rpyc客戶端B,C和D連接到我的rpyc服務器。我怎樣才能使服務器可以直接發送數據到客戶端C?兩個客戶端和一臺服務器之間的Rpyc接口
所以現在我有rpyc客戶端A刮擦數據,當它找到特定的數據時,它將它發送到我的rpyc服務器,然後將其存儲。假設我也有rpyc客戶端B,C和D連接到我的rpyc服務器。我怎樣才能使服務器可以直接發送數據到客戶端C?兩個客戶端和一臺服務器之間的Rpyc接口
由於rpyc is symmetric,客戶端可以傳遞迴調供服務器調用。回調然後在客戶端進程中執行。這可能是最簡單和最乾淨的方式來做你想做的事情。
因此,您的服務器需要公開一個新的register_callback(client_callback)
方法,該方法將回調存儲在列表中。然後,無論何時收到新數據,只需調用所有存儲的回調。
您還需要處理已註冊回調的客戶端已斷開連接的情況。它應該像添加正確的try /除了圍繞回調調用一樣簡單(儘管我不記得您需要捕獲的實際異常類型是什麼)。
謝謝,這讓我走上了正確的道路。 – ark