2

我试图让两个 R 程序通过套接字进行通信。这是代码:

程序A

con <- tryCatch(socketConnection(port=10170),error=function(e) return(FALSE))
repeat
{
  x <- tryCatch(unserialize(con),error=function(e) return(NULL))
  if(!is.null(x))
  {
    print(x)
    break
  }
  Sys.sleep(.01)
}

方案 B

con <- tryCatch(socketConnection(port=10170,server=T),error=function(e) return(FALSE))
Sys.sleep(3)
serialize("account and trader disconnected",con)
close(con)

这是问题所在。似乎程序B在写入时程序A可能会读取套接字,因此A只是获取字符串的一部分。结果是这样的:

accou\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ xff\xff

有人有想法吗?非常感谢!

4

0 回答 0