Я работаю в POC, где Сервер отправит клиенту несколько сообщений, а Клиент должен получить сообщение и распечатать его.Но сервер отправляет сообщение должным образом, но клиент не может его получить.
Я уже пробовал использовать цикл for в течение 10 итераций, а время завершится, и тогда клиент получит сообщения от сервера.
Здесьоба класса:
import java.net.*;
import java.io.*;
public class Client {
public static void main(String gg[]){
try{
Socket socket = new Socket("localhost",8080);
System.out.println("Client Started...");
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
StringBuffer sb = new StringBuffer();
int x;
while(true){
x = isr.read();
if(x=='\n'){
break;
}
sb.append((char)x);
System.out.println("Readable Message: "+sb);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
import java.net.*;
import java.io.*;
public class Server {
public static void main(String gg[]){
try{
ServerSocket ss = new ServerSocket(8080);
Socket socket = ss.accept();
System.out.println("Server Started...");
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
String message = "Hello";
int i=1;
while(true){
osw.write(message+i);
osw.flush();
System.out.println("Server written.:"+message+i);
Thread.sleep(200);
i++;
}
}catch(Exception e){
e.printStackTrace();
}
}
}
Вот сообщение об ошибке от клиента, когда я остановил сервер.
C:\harsh\java\book2>java Client
Client Started...
java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.base/sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:127)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:112)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:168)
at Client.main(Client.java:23)
Итерация на сервере возросла до 100, когда я остановил сервер.
Поскольку это часть POC, согласно которой сервер никогда не остановится и всегда будет посылать сообщения, возможно, возможна некоторая задержка, но он будет отправлять сообщение из цикла.
I, за исключением его дляполучать все сообщения, отправленные со стороны сервера.
Я добавляю еще несколько наборов изображений после того, как попробовал его с промывкой на сервере, на который я хочу выводить одну строку не в виде пирамиды. Например, для первой итерацииотправляет «Hello1». Так что он должен получить «Hello1» не та пирамида.