Java TransferTo (out) отвечает после каждого символа, а не после нажатия Enter - PullRequest
0 голосов
/ 30 мая 2019

Я только что переехал, и мое приложение работает иначе, чем раньше, и действительно отличается от того, что для меня имеет смысл.

ОЖИДАЕТСЯ: (Microsoft Telnet) -> локальный хост telnet 8010

Клавиатура Input1: привет

Консольный выход1: привет

Клавиатура Input2: это

Консольный вывод2: это

АКТУАЛЬНО: телнет localhost 8010

Клавиатура Input1: а

Консольный выход1: а

Клавиатура Input2: 4

Выход консоли2: 44

и так далее ... он просто сразу повторяет каждый символ.

public class SingleThreadedBlockingServerBasic {

    public static void main(String[] args) throws IOException {


        ServerSocket serverSock = new ServerSocket(8010);


        while (true) {

            // Connect client and serverSock - Tell serverSock to accept client Socket
            Socket client = serverSock.accept();

            InputStream in = client.getInputStream();
            OutputStream out = client.getOutputStream();

            int data;

            // Read the int-read into the 8k buffer at offset 0 from the inputstream. inputstream receives data off
            // of the client Socket.
            in.transferTo(out);
        }
    }


}

1 Ответ

0 голосов
/ 02 июня 2019

Сеанс Microsoft Telnet отвечает на ввод пользователя по одному символу за раз, он не ожидает возврата каретки перед отправкой ввода пользователя, как MacOS и некоторые Linux telnet.

Спасибо, user207421, james-k-polk за вашу информацию.

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