我目前正在尝试使用JSON语法处理来自TCP服务器套接字的R中的数据。
我的脚本实际上可以通过
连接到服务器socketConnection(host = "whateverhost", port = "8080", server = FALSE, encoding = "UTF-8")
我通过
解析我的JSON对象writeChar(con = server, object = "{ \"whar\" : \"whatwhar\" }", eos = NULL);
在我的JSON字符串后,我需要将EOT-Character(文档提到ASCII 4)传递给服务器以完成我的查询。
它是通过
尝试的writeChar(con = server, object = as.character(04), eos = NULL);
但无法让它发挥作用。
有没有人有任何建议?!
谢谢!
答案 0 :(得分:0)
不是答案,但我需要向OP显示图片
我启动了一个netcat
服务器来监听8080:
nc -l 8080
然后我设置tcpdump
来捕获数据包:
tcpdump -i lo0 dst port 8080 -w 8080.dmp
然后我运行了你的连接代码和初始JSON发送代码。
然后,我是否使用直接unicode表示:
writeChar(con = server, object = "\U0004", eos = NULL)
或者,更加间接的转换方式来生成相同的东西:
writeChar(con = server, object = rawToChar(as.raw(4)), eos = NULL)
我看到EOT(从wireshark数据段视图中的十六进制转储部分中突出显示的04
)。
您是否100%确定它是系统所期望的标准EOT?远程系统在它之后是否有任何期待?是否有其他网络组件可以缓冲任何内容?