что я пытаюсь сделать, это отправить строки размером более 60 КБ, которые не могут быть отправлены с помощью метода WriteUTF с использованием DataOutputStream
, поэтому, в основном, я уже закончил с поиском, и добавив свои собственные знания, он преобразовывалстрока в байты с использованием метода getBytes ("UTF-8") и для преобразования его обратно в строку я использовал новую строку ("UTF-8"), но когда я начинаю отправлять данные на мой сервер (который должен ответить мне строкой)который также преобразуется в байты с использованием того же tec) после подготовки потоков (DataInputStream и DataOutputStream), они в то время как цикл чтения данных никогда не заканчивается
Мой сервер:
DataInputStream dataInputStream = new
DataInputStream(sslSocket.getInputStream());
DataOutputStream dataOutputStream = new
DataOutputStream(sslSocket.getOutputStream());
byte[] bdata = new byte[1024];
while(dataInputStream.read(bdata, 0 , bdata.length) > 0){
returnData.append(new String(bdata, Charset.forName("UTF-8")));
}
String command = returnData.toString();
dataOutputStream.write(returnData.toString().getBytes("UTF-8"), 0, returnData.toString().getBytes().length);
Мой клиент:
dataOutputStream.write(command.getBytes("UTF-8"), 0, command.getBytes().length);
byte[] data = new byte[1024];
while(dataInputStream.read(data, 0, data.length) > 0){
stringBuilder.append(new String(data, Charset.forName("UTF-8")));
}
And then use stringBuilder.toString() to get the data out of the builder.
не могу понять почему, но вот мой код, я надеюсь, вы можете помочь мне с этим: