一个rserve的客户端是否有可能与另一个客户共享工作区?

时间:2015-12-01 09:36:49

标签: r rserve

我想用RExcel替换Excelsi-R。 Excelsi-R通过RServe与R进行对话,RServe具有此功能,使每个客户端在独立的工作空间中工作。

我想要的是在至少2个同时连接的客户端之间实际共享单个工作区。一个客户端将由Excelsi-R运行,另一个客户端将通过手动启动的交互式R会话运行。这将允许我以传统方式(例如,在RStudio中)与Excelsi-R会话交互。

我不需要异步计算;如果Excelsi-R必须等待,直到另一个连接发出的命令结束,反之亦然,我感到非常高兴。就像在RExcel"前景模式"。

中一样

有可能吗?

1 个答案:

答案 0 :(得分:1)

目前不是,因为每个进程只有一个连接。有一些黑客 - 例如你可以通过在现有会话中为另一个连接启动一个监听器来“切换”会话 - 但这可能有点太局限了。

也就是说,它在技术上是可行的(Rserve支持在多个连接上循环 - 它在RCloud中用于在一个连接上支持两个独立的进程) - 挑战是如何将两个独立的连接链接到单个进程。在Rserve 1.8中添加了rsio通信,以允许在Rserve实例之间传递描述符,但到目前为止尚未使用它。如果对这种功能感兴趣,我可以看看如何添加它。