Конференция "Сети" » Вопрос про обрыв соединений через туннель ssh
 
  • Дмитрий СС (12.03.14 15:12) [0]
    Есть небольшой вебсервер на фрипаскале под линукс. Основан он на TFPCustomHttpServer. Все соединения работают в режиме Connection: close.

    Локально работает нормально, но вот через проброшенный по ssh туннель - очень криво. Часть соединений обрезается (в консоли браузера получается ошибка ERR_CONTENT_LENGTH_MISMATCH).

    Нашел в интернете, что может помочь изменения параметров службы tcpip: TcpMaxConnectRetransmissions и TcpMaxDataRetransmissions, но не помогло.

    Потом я обнаружил, что сервер в своей реализации закрывает сокет сразу после отправки, поэтому я добавил следующий код:

         fpshutdown(Socket.Handle, 2);

         X := 50;
         while (Socket.Read(Dummy, 4) > 0) and (X > 0) do
         begin
           Sleep(100);
           Dec(X);
         end;


    Стало немного лучше, но все-равно плохо.

    Что еще можно посмотреть? В чем может быть причина?
    Как правильно завершать соединение?
 
Конференция "Сети" » Вопрос про обрыв соединений через туннель ssh
Есть новые Нет новых   [118663   +28][b:0][p:0.001]