Я хочу отправить строку с моего Android-устройства на сервер node.js через сокет. Соединение работает уже, но всякий раз, когда я отправляю строку, сервер получает дополнительные символы.Соединение сокета - Java добавляет байты
Это то, что я получаю, когда я отправить строку «Ганса» на сервер Node.js:
Buffer ac ed
Buffer 00 05 77 04 68 61 6e 73
в utf8 строку:
??
♣w♦hans
Вот Java часть, которая отправляет строка:
clientSocket = new Socket("xxx.xxx.xxx.xxx",9988);
ObjectOutputStream clientOut = new ObjectOutputStream(clientSocket.getOutputStream());
String sendString = "hans";
clientOut.write(sendString.getBytes());
clientOut.flush();
Так почему же это происходит?
Как выглядит ваш приемный код? И как вы ожидали, что получатель узнает, как долго была строка? –
Используйте только 'OutputStream' вместо' ObjectOutputStream'. – hardartcore