C# 为什么ping没有被发送到IRC?

C# 为什么ping没有被发送到IRC?,c#,ping,server,irc,C#,Ping,Server,Irc,我从IRC服务器收到一个ping,我正在尝试回复它,但当我发送pong回复ping时,我的IRC客户端仍然超时。如果我发错了,有人能告诉我如何正确发送吗 for (; ; ) { var rec = reader.ReadLine(); Console.WriteLine(rec); //Replies to pi

我从IRC服务器收到一个ping,我正在尝试回复它,但当我发送pong回复ping时,我的IRC客户端仍然超时。如果我发错了,有人能告诉我如何正确发送吗

                for (; ; )
                {
                    var rec = reader.ReadLine();
                    Console.WriteLine(rec);
                    //Replies to ping message
                    if (rec.StartsWith("PING"))
                    {
                        writer.Write("PONG :asimov.freenode.net");
                        writer.Flush();
                    }
                  }

为什么在以后使用
reader.ReadLine时,从流
reader.Read(readBuf,0,readBuf.Length)
进行无限循环读取?假设在出现异常之前循环不会中断,此时reader.ReadLine的行为将是不可预测的。在您读取行之前,上一次读取到流中的距离有多远?您是否对此进行了调试,并在ReadLine之后放置了断点以查看
字符串行
的内容?对于大多数写入操作,您都会显式地
在ReadLine之后刷新写入程序。但你不能在乒乓球比赛中这样做。这可能就是原因。@AaronLS那么你认为我该怎么做?你知道如何解决这个问题吗?@AndrewMedico我试过了,但没有成功。@Ike我就如何调试提出了建议,并问了一些澄清问题。我假设除了读线循环之外,您选择使用缓冲读循环也是有原因的。你能解释一下为什么用这种方式编码吗?在调试代码之前,您必须理解代码。