问题标签 [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.

0 投票
1 回答
526 浏览

python - 当我尝试通过 python 中的 rpyc 连接时,ev3 关闭连接

我在我的 ev3 砖上安装了 ev3dev,这样我就可以用 python 在上面创建程序。我正在尝试使用可在此处找到的 python 的“rpyc”库。但是,当我尝试运行上面链接中作为示例给出的这个基本脚本时:

我通过终端收到多个错误,然后连接关闭。我已按照页面上的所有说明进行操作,并且事先在 ev3 砖块上启动了服务器脚本。当我运行上述程序时,会显示来自 python 的错误:

然后在我的 SSH 会话中,显示以下错误:

这些错误出了什么问题?

0 投票
1 回答
85 浏览

python - 在 Python Rpyc 服务器上初始化 COM 对象并重新使用它?

我正在使用 rpyc python 服务器来处理通过电子邮件发送的请求。我正在将它们加载到 Excel 吸墨纸中,其想法是在收到新请求后通过运行宏来自动更新 Excel。

但是,我无法初始化工作簿对象。下面的代码可以正常打开工作簿(startExcel),但是当我运行 RunThis 方法时,它会打印 0,因为工作簿中尚未初始化。

有什么想法可以解决这个问题吗?

0 投票
0 回答
111 浏览

python - 使用 RPYC 远程运行 cmd 时找不到命令

我在从机 A 上启动了 rpyc_classic 服务这是 A 中的 PATH:

但是我通过 rpyc 得到了错误的 PATH:

有了这条错误的道路。我会得到

当运行命令不在“/usr/local/bin:/usr/bin”中时。

有什么解决办法吗?

0 投票
0 回答
767 浏览

python-3.x - rpyc,如何处理断开连接和重新连接

使用 w10/64、python 3.6、rpyc

我有一个服务器接收串行数据,并希望将数据发布给任何请求连接的客户端。

在服务器中,我将每个客户端添加到连接列表中,并在检测到数据更改时将其发布到所有客户端。

客户端向服务器发送“startListening”请求,包括 ip 和端口。然后,服务器打开自己与客户端的连接,以使用新数据对其进行更新。

我的服务器命令类中有一个“on_disconnect”方法,当客户端停止时它会被触发。

当客户端重新启动并再次发送“startListening”时,我在服务器上收到一个 EOFError,显示客户端 ip/port。

如何正确检测并关闭客户端连接以允许重新连接?

0 投票
0 回答
424 浏览

python - 使用 rpyc 访问另一个文件中的类成员而无需导入

说进去server.py

client.py,我想基于error_type这样的不同的步骤:

但是,编译器说

如何访问此类对象的成员变量?即使我更改ExceptionBaseException.

更新:我修改client.py为:

. print(e)正确,因为它打印“错误”,但我仍然无法得到e.error_type

0 投票
2 回答
368 浏览

python - rpyc - 如何获取连接的公开函数列表

我有少量 rpyc 服务器,它们只有部分具有相同的公开功能。

在客户端事件应该被转发到所有已经连接并且对特定事件感兴趣的服务器。

我想从服务器连接对象获取服务器上可用的公开函数列表。

到目前为止,我发现的最好的事情是使用方法名称在客户端检查现有的公开函数,例如

这会在客户端引发 AttributeError 异常 - 但是 - 这也会在远程服务器上引发我想避免的异常。

考虑在每个服务器上添加一个通用的“exposed_supportedFunctions”函数并返回其公开函数的列表,但这看起来有点矫枉过正并且容易出现不匹配。

0 投票
0 回答
459 浏览

python - rpyc服务器调用客户端方法

我目前正在使用 rpyc 来构建一个服务器和多个将连接到它的客户端。我在客户端中有数据,我想将其推送到服务器以进行进一步处理,并且我想在客户端连接到服务器时通过服务器调用客户端方法来执行此操作。从他们的教程中,它说客户端可以将他们的服务公开给服务器,但是我遇到了错误。

我的服务器的代码:

我的客户的代码:

客户端能够连接到服务器,但是线程中会出现异常并报错:raise EOFError("stream has been closed")。它抱怨 conn.root.example() 行,我不知道正确的语法是什么,而且教程根本没有指定。

任何帮助都感激不尽!

0 投票
1 回答
2404 浏览

python - rpyc AsyncResultTimeout("结果过期")

我正在运行经典的 rpyc 服务器。当我连接到服务器并执行长时间运行的命令时:

我有:

raise AsyncResultTimeout("result expired") TimeoutError: result expired

我试图设置:

0 投票
2 回答
1690 浏览

python - 从 rpyc 调用 xmlrpc 方法时出现 xmlrpc.client.Fault

我正在尝试构建一个具有两个进程的系统:一个带有“ping”方法的 xmlrpc 服务器和一个 QCoreApplication 中间件。中间件有一个连接到 xmlrpc 服务器的 xmlrpc 客户端。中间件还充当 RPyC 服务器。我想通过 RPyC 连接到中间件并在服务器上调用“ping”方法。

我希望在调用 conn.root.application.ping() 和直接调用 conn.root.application.xmlrpc_client.ping() 时从调用中返回值“pong”,而不是在第二种情况下显示错误。为什么?

0 投票
0 回答
366 浏览

python - socket recv 永远挂起或超时

我正在使用rpyc包在服务器和客户端之间进行通信。直到今天一切都很好。我的客户端电脑无法接收来自服务器的消息。所以我运行套接字服务器:

像在文档中一样连接:

我尝试使用wireshark进行调试,防火墙已关闭,之前一切正常。我正在使用 OSX。当我做反向时,连接工作正常

在此处输入图像描述