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