class client {
client(String ip, int port){
try {
socket = new Socket(ip, port);
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());
}
//...... catch is omitted
try{
byte buffer[] = new byte[1024];
while(true){
in.read(buffer);
if(buffer[0]!=0) {break}
..............(CODE OMIITED)..............
}
}
................(CODE OMITTED)..............
in.close();
out.close();
socket.close();
}
}
Я удалил весь код из-за читабельности моих советников. Дайте мне знать, если кому-то нужен более подробный код, чтобы помочь мне.
Итак, мой сервер отправляет два раза out.write (буфер) (DataOutputStram) в течение одного цикла while. например, первый - буфер [] = [0, 1, 1, 3, 4, 5], а второй - буфер [] = [8, 1, 1, 1, 1, 1], затем то, что я хочуread from in.read - это два разных буфера (сначала прочитайте один в клиентский буфер, а затем перезапишите следующий [8,1,1,1,1,1] в следующем цикле цикла. Но иногда это дает мне правильное два разных значения (правильноперезаписать), но иногда in.read просто дает мне [0,1,1,3,4,5,8,1,1,1,1,1]
Может кто-нибудь сказать мне, как обеспечитьв in.read только для чтения часть, которая мне нужна. Я пытался использовать in.read (буфер, 0, длина), но мне не удалось