Json 通过R插座发送EOT
我目前正在尝试使用JSON语法在R中处理来自TCP服务器套接字的数据 我的脚本实际上能够通过Json 通过R插座发送EOT,json,r,sockets,Json,R,Sockets,我目前正在尝试使用JSON语法在R中处理来自TCP服务器套接字的数据 我的脚本实际上能够通过 socketConnection(host = "whateverhost", port = "8080", server = FALSE, encoding = "UTF-8") 我通过 writeChar(con = server, object = "{ \"whar\" : \"whatwhar\" }", eos = NULL); 在JSON字符串之后,我需要向服务器传递一个EOT字符(
socketConnection(host = "whateverhost", port = "8080", server = FALSE, encoding = "UTF-8")
我通过
writeChar(con = server, object = "{ \"whar\" : \"whatwhar\" }", eos = NULL);
在JSON字符串之后,我需要向服务器传递一个EOT字符(文档中提到了ASCII 4)以完成查询
它试过了
writeChar(con = server, object = as.character(04), eos = NULL);
但无法让它工作
有人有什么建议吗
谢谢大家! 不是答案,但我需要向OP显示图像 我在8080上启动了一个
netcat
服务器来监听:
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吗?远程系统是否期望在它之后有什么结果?是否有其他网络组件缓冲任何内容
不是答案,但我需要向OP显示一张图像 我在8080上启动了一个
netcat
服务器来监听:
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吗?远程系统是否期望在它之后有什么结果?是否有其他网络组件缓冲任何内容
object=rawToChar(as.raw(4))有用吗?试过了,但遗憾的是没有用。确实有用吗。。。我又试了几次,将“\u0004”添加到字符串本身就解决了我的问题。非常感谢你!只是指出R正在做它声称正在做的事情,并且正在发送服务器说它需要的东西。因为R在做它的工作,所以还有别的事情发生。此外,它最终成为了一个很好的例子,帮助其他人了解如何解决问题。嗨,谢谢你的热情。。。我又试了几次,将“\u0004”添加到字符串本身就解决了我的问题。非常感谢你!只是指出R正在做它声称正在做的事情,并且正在发送服务器说它需要的东西。因为R在做它的工作,所以还有别的事情发生。此外,它最终成为了一个很好的例子,可以帮助其他人了解如何解决问题。