Как отправить коды опций telnet?

Я написал прослушиватель сокетов на Java, который просто отправляет некоторые данные клиенту.

Если я подключаюсь к серверу с помощью telnet, я хочу, чтобы сервер отправлял некоторые коды опций telnet. Я просто отправляю их как обычные сообщения?

Например, если бы я хотел, чтобы клиент печатал «привет», я бы сделал это:

PrintWriter out = new PrintWriter(clientSocket.getOutputStream());
out.print("hello");
out.flush();

Но когда я пытаюсь отправить коды опций, клиент просто их печатает. Например, символ IAC (0xff) просто печатается как странный символ y, когда я делаю это:

PrintWriter out = new PrintWriter(clientSocket.getOutputStream());
out.print((char)0xff);
out.flush();

person Matt    schedule 26.12.2010    source источник


Ответы (2)


Если вы используете кодировку символов по умолчанию, я ожидаю, что 0xff будет преобразован в два символа.

Я предлагаю вам использовать обычный OutputStream без PrintWriter. Таким образом, байты будут отправлены без перевода.

person Peter Lawrey    schedule 26.12.2010