TcpClient 在一段时间后从 Twitch IRC 断开连接

TcpClient disconnects after awhile from Twitch IRC

我的问题是,在我连接到 IRC 后,我从 IRC 接收原始文本并记录它,但它只是决定在不活动后或在我启动它后 2-3 秒断开与服务器的连接(未确认).

如有任何帮助,我们将不胜感激。这是我的代码(在这里发布有问题): http://pastebin.com/Ls5rv0RP

我需要它来停止断开连接,但我真的找不到办法。我知道流行的 mIRC 客户端在 x 时间后与 Twitch 断开连接,但会重新连接,只要它知道及时重新连接(2-5 秒)就可以了。

回复PING/PONG的部分:

if (buf.StartsWith("PING ")) output.Write(buf.Replace("PING", "PONG") + "\r\n"); output.Flush();

感谢任何帮助。

下面的代码有助于防止我的 Twitch 机器人通过 运行 连接到 IRC 服务器的单独线程断开连接。

PingSender Class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace TwitchBot
{
    /*
    * Class that sends PING to irc server every 5 minutes
    */
    class PingSender
    {
        static string PING = "PING ";
        private Thread pingSender;

        // Empty constructor makes instance of Thread
        public PingSender() 
        {
            pingSender = new Thread (new ThreadStart (this.Run) ); 
        } 
        // Starts the thread
        public void Start() 
        { 
            pingSender.Start(); 
        } 
        // Send PING to irc server every 5 minutes
        public void Run()
        {
            while (true)
            {
                Program.irc.sendIrcMessage(PING + "irc.twitch.tv");
                Thread.Sleep(300000); // 5 minutes
            }
        }
    }
}

用法:

/* Ping to twitch server to prevent auto-disconnect */
PingSender ping = new PingSender();
ping.Start();