我有一个 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= 参数(与端口互斥)。由于我不确定将什么用作实际路径,因此无法使它们正常工作。