Код сервера: https://play.golang.org/p/tMF8uRmNMQG
Код клиента: https://play.golang.org/p/GepYizWNeIH
Приведенный выше код предполагает, что локальный HTTP-сервер прослушивает порт 8080.
Когда я пытаюсь отправить запрос GET на http://localhost: 1234 , туннель, кажется, останавливается после прохождения GET (я вижу, что это происходит на tee'd вывод).
Затем, в случае локального python3 -m http.server
, сервер отвечает через короткое время. Этот ответ не попадает в браузер (опять же, я вижу ответ в выводе tee'd).
При попытке сделать это с сайтом publi c (я использовал textfiles.com для тестирования), ответы также возвращаются медленно. В одном из моих предыдущих тестов я рассчитал интервал между ответами примерно на 5 секунд.
Однако, когда вы привязываете прослушиватель netcat к localhost и используете туннель для подключения, задержки нет и все данные переходит от сервера к клиенту почти мгновенно.
Связано ли это с установленным флагом TCP P SH? Почему пять секунд (время поддержки активности)?