次のコードがあります。ソケットでデータ テキストを送信しようとしています。しかし、 経由PrintWriter
で送信しようとすると、クライアントは何もせず、 で停止しin.readLine()
ます。ただし、単純に OutputStream を使用してバイトとして送信すると、クライアントは読み取りに問題はありません。私が望むようにすることは可能ですか?
out = new PrintWriter(sock.getOutputStream());
in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
while (true) {
System.out.println("SERVER-THREAD: IP "
+ sock.getInetAddress().getHostAddress());
out.write(marshall() + "\n");
Thread.sleep(1000);
}
//クライアント
in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
out = new PrintWriter(sock.getOutputStream());
while (updateList) {
System.out.println("Before");
String inputip = in.readLine();
System.out.println("CLIENT: " + inputip);
//unmarshall(in);
System.out.println("After");
Thread.sleep(1000);
}