Я получаю этот запрос и вижу его СОЕДИНЕНИЕ, поэтому я немедленно создаю ответ "Соединение установлено"
Это неправильно для начала.Вы не должны отправлять «Соединение установлено» до тех пор, пока не установит соединение в восходящем направлении.Вы лжете своему клиенту!
Я начинаю думать, что это потому, что я не установил рукопожатие SSL с браузером
Не имеет значения.После того, как вы это сделаете, следующая вещь, которую вы получите от клиента, это бинарная, насколько вам это интересно.Все, что вы должны делать с этого момента, это копировать байты.
Как вы думаете, мне нужно закрыть этот сокет через порт 8080 и установить новый SecureSocket на порт 8080
Нет.
Как только я получу что-то подобное, я могу установить безопасное соединение через сокет с сервером
Неверно.Как только вы получаете данные от клиента, вы должны прозрачно отправить их через существующее незашифрованное соединение с вышестоящим сервером.Вам не нужно самостоятельно подключаться к SSL.
У меня недостаточно данных только с CONNECT, чтобы перейти на сервер.
Да, вы делаете.Вы должны сформировать восходящее соединение, когда вам скажут об этом, и сообщить клиенту, что вы сделали это, когда вы действительно сделали это, а не раньше.
Что вы думаете на правильном пути?
Нет.
Просто я не получаю никаких дополнительных сообщений после отправки установленного соединения.
Это может означать, что у вас нетеще ничего не отправил.Код NIO сложен.Каким был код возврата API write ()?