none
SSH.NET ShellStream一段時間沒收到資料, 連線就會中斷 RRS feed

  • 問題

  • 如題, 我使用的是SSH.NET

    我的code如下, 對SshClient傳送一個sleep 80;echo 1
    大概sleep 70秒左右, 感覺ShellStream就被關閉了, 但如果我沒用CreateShellStream 
    直接用RunCommand, 卻都沒問題, 但RunCommand每次執行都是一個新的Shell
    沒法keep current path, 所以沒法使用, 再麻煩各位先進能幫忙解答..3Q~

    sshClient = new SshClient("192.168.0.1", "root", "");
    sshClient.Connect();
    shellStream = sshClient.CreateShellStream("test", 0, 0, 0, 0, 9192);
    shellStream.WriteLine("./run_long_time.sh");

    DateTime now = DateTime.Now;
    int s = 0;
    string data = string.Empty;
    do
    {
        if (shellStream.DataAvailable)
        {
            data += shellStream.Read();
        }
        TimeSpan spand = DateTime.Now - now;
        s = spand.Seconds + spand.Minutes * 60 + spand.Hours * 3600;
        Application.DoEvents();
    }while (s < 200000 / 1000);




    2018年10月26日 下午 12:40