1

当我将服务器控制台用于游戏时,我正在构建一个小程序来帮助我(因此我没有控制台程序的源代码)。我让控制台在后台启动,它重定向输出,然后我把它写在可爱的小文本框中。问题是它似乎并没有在每次输出时都给我最后一行。这是我的 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”并在下一行给出我关于如何进行的一个小问题。

4

0 回答 0