Я пытаюсь запустить простой код, размещенный в R-bloggers https://www.r -bloggers.com / используя-r-для связи через сокет-соединение /
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()
И клиентская функция:
client <- function(){
while(TRUE){
con <- socketConnection(host="localhost", port = 6011, blocking=TRUE,
server=FALSE, open="r+")
f <- file("stdin")
open(f)
print("Enter text to be upper-cased, q to quit")
sendme <- readLines(f, n=1)
if(tolower(sendme)=="q"){
break
}
write_resp <- writeLines(sendme, con)
server_resp <- readLines(con, 1)
print(paste("Your upper cased text: ", server_resp))
close(con)
}
}
client()
Когда я запускаю этот код или любой другой код с помощью функции socketConnection (), я получаю следующую ошибку:
Error in socketConnection(host="localhost", port = 6011, blocking = TRUE, :
cannot open the connection
In addition: Warning message:
In socketConnection(host="localhost", port = 6011, blocking = TRUE, :
problem in listening on this socket
Я попытался указать хост с помощью Sys.info () ['nodename'] и с точным IP-адресом, но безрезультатно. Я был бы признателен за помощь в установлении соединения с помощью функции socketConnection (). Далее, чтобы отметить, что я использую RStudio на Windows 10.