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

Reply via email to