问题标签 [rpyc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 通过 rpyc.Connection 检测停止的服务器进程
假设我有一个服务:
现在我开始在 ThreadedServer 中运行该服务:
现在在同一台机器上的不同进程中,我打开一个到服务器的新连接:
...但在访问连接的根之前,服务器进程由于某种原因停止,例如在服务器进程的控制终端中按Ctrl-Z。现在,当我尝试通过以下方式访问根目录时:
... Python挂起。客户端的 Ctrl-C 显示如下:
因此,如果服务器进程已停止但仍处于连接状态(底层套接字仍处于打开状态),则对Stream.poll的调用似乎会以无限循环结束。我认为这是 Stream 实现中的意外情况是否正确?我使用的是 3.3.0 版。我怎样才能检测到这种情况并避免客户端挂起?
multithreading - Rpyc Python:Rpyc 服务线程启动调用被阻塞
服务器启动正常,我可以更新值,但不打印 hello world 字符串。程序卡在 t.start() 处,我怎样才能使它成为非阻塞的。
python - python RPyC 用户数
我希望使用 RPyC 为硬件板提供 API 作为服务。该板一次只能满足单个用户的需求。有什么办法可以让 RPyC 强制一次只有一个用户可以访问?
python - 使用 rpyc 更新远程对象的属性
我在应用程序中使用 rpyc 并遇到了一个小问题。
我只想知道是否可以更新远程属性?
我有一个测试服务器:
在 ipython 控制台中:
是否可以更新远程属性?
python - 通过 RPyC 添加自定义模块
我正在尝试将新模块添加到连接中。
我有以下文件: main.py UpdateDB.py
在更新数据库中:
在 main.py 中:
我可以弄清楚如何调用 UpdateDB() 函数。我得到:
也许我试图做错了。所以让我解释一下我想要做什么:我想创建一个到服务器的连接并在其上运行 UpdateDB.py 文件中的一个函数。
python - Rpyc:一个客户端到多个服务器
如何将同一个客户端连接到多个服务器?
我试过了:
但是,当我执行 async_result0/1.wait() 时,实际上只完成了后者。
python - 在 python 解释器中挂钩全局名称查找
事情是这样的,我有一个代理持有对远程模块的引用,我将其中的一些代理放在sys.modules
这样我可以像本地模块一样使用它的地方。但是其他一些对象被放在__builtin__
远程环境的模块中(例如为了方便调试或引用的魔术变量)。我不想像这样引用这些变量conn.__builtin__.var
,并且我必须替换本地__builtin__
(这似乎不适用于替换sys.modules['__builtin__']
或挂钩全局名称查找规则。如何?对于一个模块,您可以重载 agetattr
来执行此操作。但是在像这样的交互式解释器中IPython
,谁是主要模块或如何做到这一点? 更新:正如@Nizam Mohamed 所指出的,是的,我可以得到__main__
模块,但我仍然无法修改它的名称查找角色。
我想将本地环境完全变成远程环境(用于调试控制台)
更新
现在我只是迭代所有的__builtin__.__dict__
,如果有一个名字不在 local 中__builtin__
。我将名称添加到本地的__builtin__
. 但与名称查找规则相比,它并不是那么动态,如果我在本地找不到名称,请__builtin__
尝试远程名称。
这是一个类似的讨论。
而这个问题通过将其替换为sys.modules
. 但这不适用于__builtin__
名称查找,我还尝试将其替换__builtin__.__getattribute__
为自定义名称,该自定义名称将首先使用原始查找,然后在失败时使用自定义查找。__builtin__
但是从不调用的全局名称查找__builtin__.__getattribute__
甚至__builtin__.__getattribute__('name')
返回所需的值,__builtin__.name
或者name
从不返回一个。
python - 通过 RPyC 使用 scapy
我需要在远程服务器上使用 scapy 来转储这样的流量
要连接到远程服务器,我正在使用 RPyC。
但我不明白如何在远程服务器上使用 scapy。如何通过 RPyC 在远程服务器上调用嗅探功能?
这个问题可能被认为更广泛 - 如何在远程机器上导入模块并使用它的功能?
python - 使用 paramiko 重启 rpyc
我需要使用 paramiko 在远程机器上重新启动 rpyc。我试过做:
我看到 rpyc 实际上已被杀死,但它没有再次启动......我做错了什么?