hereで説明されているように、stdio/stdin のリダイレクトは RPyC 2 では非常に簡単です。これは、サーバーで実行される「印刷」コマンドが、印刷された文字列をクライアント側に表示することを意味します。
ここで説明されているように、RPyC 2 はセキュリティで保護されておらず、推奨されていませんが、RPyC 3 を使用してクライアント側で印刷する方法をどこにも見つけることができませんでした。
これを達成する方法を知っている人はいますか?
編集:
たとえば、これは私のサーバーへのコードです。
import rpyc
import time
from rpyc.utils.server import ThreadedServer
class TimeService(rpyc.Service):
def exposed_print_time(self):
for i in xrange(10):
print time.ctime()
time.sleep(1)
if __name__ == "__main__":
t = ThreadedServer(TimeService, port=8000)
t.start()
私のクライアントでは、次を実行します。
conn = rpyc.connect("192.168.1.5")
conn.root.print_time()
私の目標は、クライアントの stdout で毎秒 (または印刷したいもの) の時間を取得することですが、クライアントがハングするだけで、時間はサーバーにのみ印刷されます。