Please, don't cross-post.
Your question is a users question, not a dev one. There is no need to post it to both the users and dev mailing list. Thanks. Le 28/10/2017 à 03:42, Mei a écrit : > > The heartbeat task of client not support keepalive function well,is it a bug? > > > > The heartbeat request of sshClient is a SSH_MSG_GLOBAL_REQUEST, but > the default buffer of heartbeat set false (see > ClientConnectService#sendHeartbeat) > > buf.putBoolean(false); > > The sshServer reponse the heartbeat by the KeepAliveHandler, then > AbstractConnectionService #sendGlobalResponse. > > boolean wantReply = buffer.getBoolean(); > > as the buffer of heartbeat set false, then the sendGlobalResponse will > not reponse sshClient because of the wantReply is false .(see > [AbstractConnectionService #globalRequest) > > 1 、Is it a Bug(set the heartbeat buffer false default)? how the > sshClient know the server is available when the server don't response. > I have test it whth create a client with params ( > HEARTBEAT_INTERAL = 60 > IDLE_TIMEOUT = 300 > NIO_READ_TIMEOUT = 315)and a server, and the client will close > seesion after the NIO_READ_TIMEOUT. > > 2、If the client reach the NIO_READ_TIMEOUT, then thows a > InterruptedByTimeoutException,and close the session.But the task of heratbeat > not stoped, it will continue to run even though it will not send > packet.See the ClientConnectionService #startHeartBeat > > > service.scheduleAtFixedRate(this::sendHeartBeat, interval, interval, > TimeUnit.MILLISECONDS); > > > if the sshClient reopen a new session and close it many times,the > number of invalid scheduling heartbeat task will become very large, it's not > equitable. > > > > > > > > > > > > 【网易自营|30天无忧退货】仅售同款价1/4!MUJI制造商“2017秋冬舒适家居拖鞋系列”限时仅34.9元>> -- Emmanuel Lecharny Symas.com directory.apache.org
