Приложение, работающее внутри Docker - TCP поддерживает активность / бездействие - PullRequest
0 голосов
/ 09 мая 2019

У меня есть Java-приложение, работающее внутри контейнера Docker. Это TCP-сервер, который подключается к клиенту, получает несколько байтов и обрабатывает их во время простоя сеанса.

Как симулировать бездействие TCP-сессии для моего приложения?

Я попробовал следующее в docker-compose.yml.

sysctls:
        - net.ipv4.tcp_keepalive_intvl=45
    privileged: true

Ниже показан TCP-клиент, подключающийся к серверу и отправляющий несколько байтов. У меня есть пут 70000, я думал, что это достаточно важно, чтобы вызвать событие простоя сеанса TCP. Но это не помогло.

@Override
   public void run() {
       if (isServerAvailable()) {
             try {
                   outputStream = clientSocket.getOutputStream();

                   outputStream.write(SampleMessageFactory.PACKET_HEADER);


  outputStream.write(SampleMessageFactory.PACKET_MESSAGE_BODY);

                   Thread.sleep(70000);


                   } catch (Exception e) {
                       // TODO Auto-generated catch block
                       e.printStackTrace();
                   }
               }
   }

Сеанс TCP никогда не простаивает, поэтому я не могу обработать байты для своих тестов.

...