Telnet не подключается к localhost ...
Да, это так.Вот почему он сказал «соединение с хостом потеряно» вместо «соединение отказано».
И вот что случилось.Вы закодировали:
connection.close();
Вы получили:
соединение с хостом потеряно
Вы закрыли соединение;Telnet сказал вам об этом.
Это то, что должно произойти.
Здесь нет проблем для решения.
В противном случае вы получили исключение ввода-вывода на сервере acceptцикл.
Но поскольку вы игнорируете их, невозможно сказать, какие именно.