4
是否可以在两台不同计算机上的两个R会话之间打开通信流?如何使用R连接两台电脑?
如果两者都在同一台计算机上,我使用套接字连接会话。我想用两台不同的电脑,我应该尝试网络套接字。 httpuv
支持R作为网络套接字服务器,但不幸的是,我找不到任何支持R中客户端网络套接字的任何最新套件。
我并不想使用网络套接字。任何能够以实时方式在计算机之间进行通信的解决方案都可以工作。
是否可以在两台不同计算机上的两个R会话之间打开通信流?如何使用R连接两台电脑?
如果两者都在同一台计算机上,我使用套接字连接会话。我想用两台不同的电脑,我应该尝试网络套接字。 httpuv
支持R作为网络套接字服务器,但不幸的是,我找不到任何支持R中客户端网络套接字的任何最新套件。
我并不想使用网络套接字。任何能够以实时方式在计算机之间进行通信的解决方案都可以工作。
我用sockets使用R.
服务器例如计算机之间的通信:
import socket
server <- function(){
while(TRUE){
writeLines("Listening...")
con <- socketConnection(host="localhost", port = 6011, blocking=TRUE,
server=TRUE, open="r+")
data <- readLines(con, 1)
print(data)
response <- toupper(data)
writeLines(response, con)
close(con)
}
}
server()
客户端的例子:
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(("localhost", 6011))
while 1:
data = raw_input ("Enter text to be upper-cased, q to quit\n")
client_socket.send(data)
if (data == 'q' or data == 'Q'):
client_socket.close()
break;
else:
data = client_socket.recv(5000)
print "Your upper cased text: " , data
你试图做任何集群并行计算?有这个软件包,可能会让你感兴趣的“雪”https://cran.r-project.org/web/packages/snow/index.html –
你试图解决什么问题?大内存机器上的远程会话?集群? MPI? –
我没有进行群集并行计算,但它在通信概念上可能相似。我试图在R中构建一个类似代理服务器的东西,它从所有客户端获取请求,然后将它们发送给合适的工作人员。我的限制是由于安全原因,我无法从工作计算机复制原始数据,也无法从外部网络访问工作计算机。因此,我在网络中分配了一台计算机来获取客户请求,并将相关数据发送给相关工作人员。 –