private NetworkStream Connect() { //Socket _Socket = Proxy.Socks5Connect("localhost", 9050, "irc.tambov.ru", 7770); _Socket = new TcpClient(host, port).Client; _NetworkStream = new NetworkStream(_Socket); _NetworkStream.ReadTimeout = 10000; _NetworkStream.WriteLine(string.Format("NICK {0}", _Tags.Random())).Trace(); _NetworkStream.WriteLine("USER " + _Tags.Random() + " " + _Tags.Random() + " server :" + _Tags.Random()).Trace(); bool success = false; Thread _Thread = new Thread(delegate() { try { while (true) { string s = _NetworkStream.ReadLine().Trace(); Match _Match = Regex.Match(s, @"PING \:(\w+)", RegexOptions.IgnoreCase); if (_Match.Success) { _NetworkStream.WriteLine(("PONG :" + _Match.Groups[1]).Trace()); } if (Regex.Match(s, @":.+? 005").Success) success = true; } } catch (IOException) { } }); _Thread.Start(); _Thread.Join(5000); _Thread.Abort(); if (!success) throw new ExceptionB("cannot connect to: " +host); _NetworkStream.WriteLine("codepage cp1251"); Trace.WriteLine("<<<<<<<<<<<<<<<<<<<<<<<<<<<Connected>>>>>>>>>>>>>>>>>>>>>>>>"); return new NetworkStream(_Socket); }