Пример #1
0
 private void JoinChannels()
 {
     bool run = true;
     string line = null;
     while (run && (line = _clientReader.ReadLine()) != null)
     {
         Console.WriteLine(line);
         Model.Query.IRCCommandQuery query = null;
         if (Parser.IRC.IRCQueryParser.TryParse(_server, line, out query))
         {
             var incomingThread = new IRCSharp.Kernel.Threading.IncomingThread(query, _commandCollecter.CommandManager, _ircWriter);
             incomingThread.Start();
             if (query.Command == Model.Query.IRCCommand.RPL_ENDOFMOTD || query.Command == Model.Query.IRCCommand.ERR_NOMOTD)
             {
                 _ircWriter.Join(_channels);
                 run = false;
             }
         }
         else
         {
             //TODO error has happened. Needs to find a proper way of handling this.
         }
     }
 }
Пример #2
0
        private void StartListning()
        {
            string line = null;
            while ((line = _clientReader.ReadLine()) != null)
            {
                Console.WriteLine(line);
                Model.Query.IRCCommandQuery query = null;
                if (Parser.IRC.IRCQueryParser.TryParse(_server, line, out query))
                {
                    var incomingThread = new IRCSharp.Kernel.Threading.IncomingThread(query, _commandCollecter.CommandManager, _ircWriter);
                    _messageServer.WriteMessageToConnectors(query);
                    incomingThread.Start();
                }
                else
                {
                    //TODO error has happened. Needs to find a proper way of handling this.
                }
            }

            _messageServer.Stop();
            _commandCollecter.Stop();
            _client.Close();
            _clientStream.Close();
            _clientReader.Close();
            _ircWriter.Close();
        }