从进程读取输出时无法获取最后一位

时间:2012-08-28 15:48:25

标签: c# process console readline

当我使用服务器控制台进行游戏时,我正在构建一个小程序来帮助我(因此我没有控制台程序的源代码)。 我让控制台在后台启动,它重定向输出,然后我把它写在可爱的小文本框中。 问题是它每次输出时似乎都没有给我最后一行。 这是我的server.cs中的一些代码:

public StreamWriter inputWriter;
public event EventHandler outputWritten;

string outtext = outputReader.ReadLine();

        while (!process.HasExited)
        {
            // check for output from server
            if (outtext != null)
            {
                if (outputWritten != null)
                {
                    outputWritten(outtext, new EventArgs());
                }
            }
            outtext = outputReader.ReadLine();
        }

这几乎是输出的样子: 1)如果它在我的程序之外运行:

Welcome to the game server!
1  OptionA
2  OptionB
3  OptionC

Choose option:_  <-- this is where it should end waiting for input

2)如果在我的程序中: 它看起来像上面但不会显示最后一行而不是它会在“选择选项”上方的空行结束 当我给它一个输入时,它会稍微混乱,我得到的输出看起来像“选择选项:欢迎使用游戏服务器!”应该写的地方:“选择选项:1”并在下一行给出一个关于如何继续的小问题。

0 个答案:

没有答案