2016-08-17 2 views
1

현재 JSON 구문을 사용하여 TCP 서버 소켓에서 오는 R로 데이터를 처리하려고합니다.R 소켓을 통해 EOT 보내기

내 스크립트 (문서 언급 사실은 내가이 EOT-문자를 전달해야

socketConnection(host = "whateverhost", port = "8080", server = FALSE, encoding = "UTF-8") 

난 내 JSON 문자열 후

writeChar(con = server, object = "{ \"whar\" : \"whatwhar\" }", eos = NULL); 

를 통해 내 JSON 개체를 구문 분석을 통해 서버에 연결 할 수 있습니다 ASCII 4)를 서버에 보내 쿼리를 완료하십시오.

그것은

writeChar(con = server, object = as.character(04), eos = NULL); 

하여 시도했지만 작동시킬 수 없습니다.

누구에게 의견이 있습니까?!

감사합니다.

+0

는'객체 = rawToChar (as.raw (4))'작동합니까? – hrbrmstr

+0

그것을 시도했지만 슬프게도 도움이되지 않았다 – Johaniel

답변

0

하지 대답하지만 난 8080에서 수신 대기하는 netcat 서버를 발사

영업에 이미지를 표시해야합니다

nc -l 8080 

그때 설정 tcpdump 패킷을 캡처 :

tcpdump -i lo0 dst port 8080 -w 8080.dmp 

그런 다음 연결 코드와 초기 JSON 전송 코드를 실행했습니다.

writeChar(con = server, object = "\U0004", eos = NULL) 

이나, 같은 일을 생성 할 수있는 간접적 인 변환 방법 : 내가 EOT를 참조

writeChar(con = server, object = rawToChar(as.raw(4)), eos = NULL) 

가합니다 (04 강조 나는 바로 유니 코드 표현을 사용하는지 그리고

, wireshark 데이터 세그먼트보기에서 16 진수 덤프 부분).

시스템이 기대하는 표준이 100 % 확실합니까? 원격 시스템이 그 이후에 아무 것도 기대하지 않습니까? 다른 네트워크 구성 요소에 버퍼링이 있습니까?

enter image description here

+0

안녕하세요, 열정을 가져 주셔서 감사합니다 ... Ich는 몇 가지 시도를하고 문자열에 '\ u0004'를 추가하여 자체 문제를 해결했습니다. 고마워요! – Johaniel

+0

R은 자신이 주장하는 바를하고 있으며 서버가 필요로하는 바를 보내고 있다고 지적합니다. R이 그 일을하고 있기 때문에 계속 진행되고 있습니다. 게다가 다른 사람들이 문제를 해결하는 방법을 잠재적으로 도울 수있는 훌륭한 사례가되었습니다. – hrbrmstr

관련 문제