我正在搜索一個RPC庫,該庫允許我在另一個進程(在Windows上)調用對象的成員函數。C++調用遠程對象的方法(類似於RPC)
im當前遇到的問題是一些Serverside對象已經存在並且有多個實例。服務器應該能夠將指針/標識符傳遞給實現代理的客戶端,然後將代理指向遠程對象實例。所以我基本上要的是這樣的:
Client:
TestProxy test = RemoteTestManager.GetTestById(123);
test.echo("bla");
這裏測試的實例已經存在於服務器上,並且RemoteTestManager的是,在另一個RPC調用獲得的客戶端服務器上的管理器類。另外它應該優先運行在命名管道上,因爲在同一臺機器上可能有多個服務器(實際上我想更像一個簡單的IPC:D)。
所以我的問題其實是:是否有這樣的事情對於C++在那裏還是我必須編寫一個自己
以及與TCP/IP連接的問題是,我的服務器需要偵聽端口和我只能有一個服務器偵聽每個端口。對於命名管道,我可以只使用服務器的pid作爲標識符,如果我要使用套接字,我需要某種方法來獲取我想要監聽的服務器的套接字。那麼對象實際上並不是真的由服務器本身管理,而是由另一個導入服務器的應用程序來授予對其他程序的rpc訪問權限,所以我不能像RFC那樣有任何垃圾收集。 – ACB