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