Я хочу прочитать точное количество байтов (точную длину) записи в сокет сервером.Например, если сервер пишет «Hello» и в следующий раз пишет сервер («world»).Поэтому мне нужно записать эти две записи как две операции чтения из клиентского сокета.Я реализовал сервер и клиент следующим образом, чтобы продемонстрировать свою проблему.В этом примере выход «out» похож на следующий
1234 ... 89 90 ........ 1034 1035 ...... 2004
то, что я ожидаю, равно 1
2
3
.
.
2004
.
как я могувыполнить это.
//server
ServerSocket server = new ServerSocket(9999);
Socket s =server.accept();
InputStream stream = s.getInputStream();
byte[] by = new byte[1024];
while(true){
stream.read(by);
String received = new String(by, 0, by.length, "ISO8859_1");
System.out.println(received);
}
//client
Socket s = new Socket("localhost", 9999);
OutputStream out =s.getOutputStream();
int i =0;
while(true){
i++;
byte[] msg=Integer.toString(i).getBytes();
out.write(msg);
}
Может кто-нибудь, пожалуйста, помогите мне сделать это ..