通过 UNIX Socker 连接连接到 Rpyc 服务器

时间:2021-07-31 23:49:39

标签: python unix rpyc

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

0 个答案:

没有答案