0

我有一个 Rpyc 服务器,由于我运行它的环境的限制,我需要使用 UNIX 连接来连接它(根本没有网络,但是 UNIX 套接字仍然可以工作,因为它们被视为文件)。目前我可以让它与网络一起使用

class ClassifierService(rpyc.Service):
    def exposed_method(self,message):
        return message
        
if __name__ == "__main__":
    # Now time to start the server
    server = ThreadedServer(ClassifierService, port=12345)
    # Attach model to server
    t = Thread(target = server.start)
    t.daemon = True
    t.start()
    t.join()

和一个看起来像的客户

#!/usr/local/bin/python
import rpyc
from rpyc.utils import *
import argparse
if __name__ == "__main__":
    # Initialize a Connection to the Model
    conn = rpyc.connect("localhost", 12345)
    conn._config['sync_request_timeout'] = None
    c = conn.root
    parser = argparse.ArgumentParser()
    #Required Args to train a model
    parser.add_argument("-s", "--start", type=str) 
    args = parser.parse_args()
    result = c.method(args.start)
    print(result)

通读文档,我发现我想使用 rpyc.utils.classic.unix_connect 的经典包中的一个方法,这可能会有所帮助,以及 ThreadedServer 中的 socket_path= 参数(与端口互斥)。由于我不确定将什么用作实际路径,因此无法使它们正常工作。

4

0 回答 0