title: TCP Client is not Connecting to IRC Adress
body: <p>I am trying to build an twitch-chatbot. I've read some tutorials and this is what I coded so far:</p>
  
  <pre><code>namespace IRC_Client
  {
      class Program
      {
          public NetworkStream NetStream = null;
          public StreamReader StreamRead = null;
          public StreamWriter StreamWrite = null;
  
          public System.Net.Sockets.TcpClient Socket_TcpClient;
  
          static void Main(string[] args)
          {
              Program P = new Program();
              P.IRC_Connect();
  
              Console.Read();
          }
  
          public void IRC_Connect()
          {
              int port;
              string  nick, owner, server, oauth;
  
              nick = "xxx";
              Console.WriteLine("Bot Name: {0}", nick);
              oauth = "oauth:xxxxxxxxxxxxxxxxxxx";
              Console.WriteLine("Password Token: {0}", oauth);
              owner = "xxx";
              Console.WriteLine("Bot owner name: {0}", owner);
              server = "irc.twitch.tv";
              Console.WriteLine("Server name: {0}", server);                   
              port = 6667;
              Console.WriteLine("Portnummber: {0} ", port);
  
              try
              {
                  Socket_TcpClient = new TcpClient(server, port);
              }
              catch
              {
                  Console.WriteLine("Failed to connect!");
                  return;
              }
  
              Console.WriteLine("Connected");
  
              IRCWork();
  
              try
              {
                  NetStream = Socket_TcpClient.GetStream();
                  StreamRead = new StreamReader(NetStream);
                  StreamWrite = new StreamWriter(NetStream);
                  SendData("PASS", oauth);
                  SendData("NICK", nick);
              }
              catch
              {
                  Console.WriteLine("Communication error");
                  throw;
              }
          }
  
          public void SendData(string cmd, string param)
          {
              if (param == null)
              {
                  StreamWrite.WriteLine(cmd);
                  StreamWrite.Flush();
                  Console.WriteLine(cmd);
              }
              else
              {
                  StreamWrite.WriteLine(cmd + " " + param);
                  StreamWrite.Flush();
                  Console.WriteLine(cmd + " " + param);
              }
          }
  
          public void IRCWork()
          {
              string[] Text;
              string data;
              bool shouldRun = true;
              while (shouldRun)
              {
                  data = StreamRead.ReadLine();
                  Console.WriteLine(data);
                  char[] charSeparator = new char[] { ' ' };
                  Text = data.Split(charSeparator, 5);
  
                  if (Text[0] == "PING")
                  {
                      SendData("PONG", Text[1]);
                  }
  
                  if (Text.Length &gt; 4) //is the command received long enough to be a bot command?
                  {
                      string command = Text[3]; //grab the command sent
  
                      switch (command)
                      {
                          case ":!join":
                              SendData("JOIN", Text[4]);
                              //if the command is !join send the "JOIN" command to the server with the parameters set by the user
                              break;
                          case ":!say":
                              SendData("PRIVMSG", Text[2] + " " + Text[4]);
                              //if the command is !say, send a message to the chan (ex[2]) followed by the actual message (ex[4]).
                              break;
                          case ":!quit":
                              SendData("QUIT", Text[4]);
                              //if the command is quit, send the QUIT command to the server with a quit message
                              shouldRun = false;
                              //turn shouldRun to false - the server will stop sending us data so trying to read it will not work and result in an error. This stops the loop from running and we will close off the connections properly
                              break;
                      }
                  }
              }
          }
  
          public void Dispose()
          {
              if (StreamRead != null)
                  StreamRead.Close();
              if (StreamWrite != null)
                  StreamWrite.Close();
              if (NetStream!= null)
                  NetStream.Close();
              if (Socket_TcpClient != null)
                  Socket_TcpClient.Close();
          }
      }
  }
  </code></pre>
  
  <p>The main problem is the connection part. I don't get far enough to test the rest. The server address and the port should be correct but the program just stops here and nothing happens.
  (I've used the info from this site: <a href="http://help.twitch.tv/customer/com/portal/articles/1302780-twitch-irc" rel="nofollow">http://help.twitch.tv/customer/com/portal/articles/1302780-twitch-irc</a>)</p>
  
  <pre><code>try
  {
      Socket_TcpClient = new TcpClient(server, port);
  }
  </code></pre>
  
  <p>I hope someone knows the answer for my problem.</p>