R socketConnection readLines

时间:2018-06-14 17:40:23

标签: r sockets readline

所以我有C ++ API在字符串上抛出字符串,我通过(改编自here)在Shiny Application中捕获它们:

socket.reader <- function(){
  writeLines("Listening...")
  con <- socketConnection(host="localhost", port = 6011, blocking=TRUE,
                          server=TRUE, open="r+")
  txt <- readLines(con, -1)
  if (txt == "\n") break
  dat <- paste(dat, txt)
  output$selected_var <- renderText({
    dat
  })
  close(con)
}
  socket.reader()

现在这个工作正常,但遗憾的是dat只有在连接关闭后才会被填满 我已经将EOL(\n)填入C ++客户端,以便知道何时应该读取下一行。
可悲的是,txt <- readLines(con, 1)当时没有做到这一点 我该怎么做或者这里的机制是什么? 是套接字连接正在读取和写入文件的问题,这只会在文件完成(连接关闭)时发生吗? 我想将数据直播到我的闪亮应用程序,但我也想进行评估,因此在数据进入评估时需要有端点。对正在发生的事情有任何帮助吗?

0 个答案:

没有答案