在Docker内部运行的应用程序-TCP保持活动/空闲

时间:2019-05-09 18:29:02

标签: java docker sockets tcp docker-compose

我有一个在Docker容器中运行的Java应用程序。这是一个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会话永远不会空闲,因此我无法处理测试的字节。

0 个答案:

没有答案