C# - 重定向游戏(UDK)服务器的进程输出

时间:2015-05-14 13:14:47

标签: c# process output server

我正在尝试重定向游戏服务器进程的输出,但我没有收到大部分输出。

Here's a image of what such a server looks like.

现在,我能够收到黄线,但其他一切都没有显示出来,无论是在控制台还是在我的最后。

有什么想法吗?

Process p = new Process();
p.StartInfo.FileName = file;
p.StartInfo.Arguments = arguments;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
p.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);

p.Start();
p.BeginOutputReadLine();
p.BeginErrorReadLine();

private void OutputHandler(object sendingProcess, DataReceivedEventArgs outLine)
{
    ...
}

private void ErrorHandler(object sendingProcess, DataReceivedEventArgs outLine)
{
    ...
}

1 个答案:

答案 0 :(得分:0)

您还需要在输出内容时刷新输出缓冲区。如果不进行刷新,输出缓冲区可能会持续到外部进程退出为止;这使得主应用程序无法捕获输出“实时”