Java プラットフォームを使用した C++ サーバーの開発。ちょっとした問題でスタックします。誰もがここで助けてくれることを願っています
C++ サーバー コード フラグメント
// Sample send a socket
sned(ConnectedSocket, classroomlist, strlen(classromlist), 0);
Java クライアントで
// Catch the socket
InputStreamReader isr = new InputStreamReader(socket.getInputStream());
char[] buffer = new char[3];
そしてここで問題が発生
BufferedReader を使用すると、何も読み出されません。
そして、私は使用しようとします
while((x = inr.read(バッファ)) != -1){}
、読み取り中に while ループにスタックします。( BufferedReader の出力がない理由を発見してください)
そして
while(true){ SYstem.out.println(inr.read(buffer)) }
、各回の読書のすべての長さを印刷しようとします。問題発見!このような出力 vvvvvvvvvvv05-31 11:35:09.934: D/@@@(3264): 3 05-31 11:35:09.934: D/@@@(3264): 3 05-31 11:35:09.934: D/@ @@(3264): 3 05-31 11:35:09.934: D/@@@(3264): 2
InputStremaReader.read()
tcpreturn -1
パッケージが最後に到達したとします。しかし、関数は終了前にスタックし、待って待って待っていますgggggg。