Java Отправка данных через сокет - зачем мне ставить новую строку в конце строки? - PullRequest
1 голос
/ 06 марта 2011

Итак, хотя теперь я понимаю, почему Outputstream, подключенный к сокету, нужно сбрасывать, когда данные должны быть отправлены немедленно, я до сих пор не понимаю, почему мне нужно поставить новую строку в конце строки.

Это работает:

// writer is a PrintWriter
writer.println("Hello World!");

Это не так:

Writer.print("Hello World!");
writer.flush;

Ответы [ 2 ]

5 голосов
/ 06 марта 2011

Вы должны определить работа и не работает точнее.Какой протокол между клиентом и сервером?Что вы ожидаете, и что вы наблюдаете?

Я подозреваю, что сервер просто ожидает появления символа новой строки во входных данных, прежде чем что-либо делать.Если это так, то, конечно, очистка устройства записи на стороне клиента перед отправкой новой строки не поможет.

2 голосов
/ 06 марта 2011

Если вы читаете с помощью метода readLine BufferedReaders согласно предыдущему вопросу, readLine не завершится, если не найдет символы новой строки.

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