некоторая проблема, когда клиент получает сообщения от сервера через сокет - PullRequest
2 голосов
/ 15 июня 2011

в коде моего сервера:

pw = new PrintWriter(stream);
br = new BufferedReader(new InputStreamReader(
    socket.getInputStream(), "UTF-8"));

в коде моего клиента

BufferedReader br = new BufferedReader(new InputStreamReader(
                    clientSocket.getInputStream(), "UTF-8"));
OutputStreamWriter stream = new OutputStreamWriter(clientSocket.getOutputStream(), "UTF-8");
PrintWriter pw = new PrintWriter(stream);

, затем сначала используйте сервер: pw.println ("OK");pw.flush ();

клиент получает OK

После этого сервер использует:

pw.println("TRUE")
pw.flush();

на этот раз клиент получает строку с неизвестным символом

\ufffd\ufffdTRUE

тогда я продолжаю отправлять сообщения клиенту, и он будет получать \ ufffd перед каждым предложением.

Может ли кто-нибудь помочь мне решить проблему?

1 Ответ

0 голосов
/ 15 июня 2011

Я мог бы предположить, что сервер повторно отправляет маркеры порядка байтов (0xFFFE 0xFFFF), которые заменяются символом замены (0xFFFD) на стороне клиента.
Вы заново создаете модуль записи перед каждой отправкой на сервер?сторона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...