状況テキストを読み取ることができません:私はJAVAプログラムでプログラムしていを、C++で(だけexeファイルを私は内部にアクセスすることができません)。彼らは、例えば、
"REQ", "00", "1,3", "15,4", "PAUSE"
。通信は、(送信)このように書きます:JAVA:私はC++で送信、ソケットからプログラム
J: REQ
C: 00
J: NEW
C: 10
J: RDY
C: 2,13
J: 20
C: RDY
J: 1,1
(...)
まずRDY
が繰り返さコマンドを作った:RDY
number,number
20
RDY
(...)。
数:0 - 15
受信:
char[] bb = new char[10];
int znaki = in.read(bb);
bb[7] = '\n';
String s = new String(bb, 0, 7);
問題:私はのような数字を読ん:
Send: 2,13
Received: 2,
Send: 3,15
Received 3,1
Send: 13,2
Received: 13,
しかし、時には、私が持っているIOExeption:「入力長= 1 "
正しく読める解決策はありますか?
だから、http://stackoverflow.com/questions/37005553/communication-between-c-and-javaが解決され、C++でJavaで送信されるものを読むことができます。 – stefaanv
'byte [] buf =新しいバイト[1024]; int znaki = in.read(buf);文字列s = new String(buf、0、znaki、StandardCharsets.ISO_8859_1); ' –
f.e.g" REQ "を' char a [10] 'に読み込むと、7文字は空です(ガベージではありません)。私は慎重にチェックしなかった:P – Wiszen