Telnet не будет подключаться к localhost после того, как я создам простой сервер на Java - PullRequest
0 голосов
/ 17 мая 2018

Прямо сейчас я сделал простой сервер в Java следующим образом:

import Java.net.*;
import Java.io.*;
import Java.util.*;

class Server{
public static void main(String[] args){
         int PORT = 13;
             try(ServerSocket server = new ServerSocket(PORT)){
                while(true){
                    try(Socket connection = server.accept()){
                         Writer out = new OutputStreamWriter(connection.getOutputStream());
                         Date now = new Date();
                         out.write(now.toString());
                         out.flush();
                         connection.close();
                     } catch(IOException ex){}
                 }
             }
             catch(IOException ex){
                System.err.println(ex);
             }
         }
    }

Я компилирую и запускаю это из командной строки.Находясь на порту 13, я пытаюсь запустить это по telnet следующим образом: telnet localhost 13, но все, что он мне дает, это «Соединение с хостом потеряно».Имейте в виду, я сделал это после включения telnet в Windows 10 и его установки.Есть простой шаг, который я пропускаю?

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Telnet не подключается к localhost ...

Да, это так.Вот почему он сказал «соединение с хостом потеряно» вместо «соединение отказано».

И вот что случилось.Вы закодировали:

connection.close();

Вы получили:

соединение с хостом потеряно

Вы закрыли соединение;Telnet сказал вам об этом.

Это то, что должно произойти.

Здесь нет проблем для решения.

В противном случае вы получили исключение ввода-вывода на сервере acceptцикл.

Но поскольку вы игнорируете их, невозможно сказать, какие именно.

0 голосов
/ 17 мая 2018

В вашей программе происходят следующие события:

  1. Сервер запускается с 13
  2. telnet localhost 13: подключается к этому серверу
  3. Как только соединение установлено, сервер отправляет дату
  4. Вы увидите дату на вашем клиенте
  5. out.flush () говорит, что клиент я закончил писать
  6. telnet client donкоманда сервера (дата)
  7. telnet закрывает соединение

Telnet - соединение с хостом потеряно - через порт 1099 на локальной машине

...