5

SFTP 転送に SSHJ を使用するライブラリを開発しています。リクエストが頻繁にあるので、このまま接続を維持できないかと考えていました。

明らかに、サーバーが接続を頻繁にタイムアウトする場合、これは何も達成しません。私はサーバーを制御できないため、接続を維持する必要があります。通常の SSH クライアントを使用すると、a を指定しServerAliveIntervalて、クライアントにそれを実行させることができます。

SSHJでも同じことをしたいのですが、どのメッセージを送るべきかわかりません。

SSHマニュアルには、次のように記載されていますServerAliveInterval

サーバーからデータを受信しなかった場合、ssh(1) は暗号化されたチャネルを介してメッセージを送信し、サーバーからの応答を要求するまでのタイムアウト間隔を秒単位で設定します。

だから私は疑問に思っています:どのメッセージが送信されますか? SSHJ を介してこのメ​​ッセージを再現するにはどうすればよいですか?

4

2 に答える 2

7

申し訳ありませんが、これは文書化されていませんが、ハートビートを設定できます。

https://github.com/hierynomus/sshj/blob/master/examples/src/main/java/net/schmizz/sshj/examples/RemotePF.java#L51

于 2012-05-14T14:13:43.137 に答える