This is my TCP client java code:
socket = new Socket("127.0.0.1", 8088);
out = new DataOutputStream(socket.getOutputStream());
inputStream = socket.getInputStream();
inputReader = new BufferedReader(new InputStreamReader(inputStream));
String result = "";
while (inputStream != null) {
result += inputReader.readLine();
}
out.writeUTF(result);
System.out.println(result);
socket.close();
out.close();
The while
loop is getting executed infinitely.
I need a solution for this problem.
You need to check when readLine()
returns null
, not when inputStream
becomes null
(which it never will):
string s = inputReader.readLine();
while (s != null) {
result += s;
s = inputReader.readLine();
}
Or:
string s;
while ((s = inputReader.readLine()) != null) {
result += s;
}