2016-08-17 9 views
1

現在、RのデータをJSON構文を使用してTCPサーバーソケットから取得しようとしています。Rソケット経由でEOTを送信する

私のスクリプトは、私は私のJSON文字列の後、私はEOT文字(ドキュメントが言及渡す必要が

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

を経由して私のJSONオブジェクトを解析

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

を経て、実際にサーバに接続することができますASCII 4)をサーバーに送信してクエリを完了します。

それは

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

ことによってそれを試してみました。しかし、それは仕事を得ることができませんでした。

誰にも提案はありますか?

ありがとうございました!

+0

'オブジェクト= rawToChar(as.raw(4))'動作しますか? – hrbrmstr

+0

それを試しましたが、悲しいことに助けになりませんでした – Johaniel

答えて

0

ない答えが、私は私が8080でリッスンするようにnetcatサーバーを解雇

OPに画像を表示する必要があります。

nc -l 8080 

私は、セットアップtcpdumpがパケットをキャプチャする:

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

次に、接続コードと最初のJSON送信コードを実行しました。私はEOT(04がでハイライト表示さ

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

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

または、同じことを生成するために、より多くの間接変換方法:私はストレートUnicode表現を使用するかどうかを次に

、 wiresharkデータセグメントビューからの16進ダンプ部分)。

あなたはシステムが予期している標準であることを100%確信していますか?それ以後、リモートシステムは何かを期待していますか?他のネットワークコンポーネントが何かをバッファリングしていますか?

enter image description here

+0

こんにちは、あなたの熱意に感謝します... Ichはもう一度試してみて、文字列に '\ u0004'を追加して自分自身で解決しました。どうもありがとうございました ! – Johaniel

+0

Rはそれが主張していることをしていることを指摘し、あなたのサーバーが必要とするものを送信しています。 Rは仕事をしているので、何か別のものがあります。さらに、他の人が問題のトラブルシューティング方法を潜在的に見るのを助けるためのまともな例となりました。 – hrbrmstr

関連する問題