2016-08-25 7 views
0

Я пытаюсь автоматизировать iperf3 с помощью C#. Проблема в том, что по какой-то причине вывод iperf3 перенаправляется после завершения теста iperf и не перенаправляет его в реальном времени.Iperf3 C# Automation Issue

public void RunIperf() 
{ 
    { 
     sortOutput = new StringBuilder(); 

     this.dummyProcess .OutputDataReceived += CaptureOutput; 
     this.dummyProcess .ErrorDataReceived += CaptureError; 

     this.dummyProcess .Start(); 
     this.dummyProcess .BeginOutputReadLine(); 
     this.dummyProcess .BeginErrorReadLine(); 
     this.dummyProcess .WaitForExit(); 
    } 

    static void CaptureOutput(object sender, DataReceivedEventArgs e) 
    { 
     ShowOutput(e.Data, ConsoleColor.Green); 
    } 
} 

Этот код работает для iperf2, где я получаю данные на моей консоли в режиме реального времени, но не для iperf3. Я не уверен, в чем проблема.

+0

При дальнейших исследованиях кажется, что iperf3 имеет проблему сохранения вывода в буфере stdout. Мне интересно, так или иначе, чтобы очистить эту информацию из буфера. – DBB

ответ

1

Попробуйте использовать флаг --forceflush на iperf3.