Json 通过R插座发送EOT

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字符(

我目前正在尝试使用JSON语法在R中处理来自TCP服务器套接字的数据

我的脚本实际上能够通过

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在做它的工作,所以还有别的事情发生。此外,它最终成为了一个很好的例子,可以帮助其他人了解如何解决问题。