public static void ConnectToServers() { AppLog.WriteLine(5, "STATUS", "Entered IRCLogger.Program.ConnectToServers()."); MySqlCommand Cmd = new MySqlCommand("SELECT * FROM " + Config.SQLTablePrefix + "networks", EnumeraterDBConn.Connection); MySqlDataReader DataReader = Cmd.ExecuteReader(); DataTable NetworkTable = new DataTable(); NetworkTable.Load(DataReader); DataReader.Close(); bool ServerExists; foreach (DataRow CurNetwork in NetworkTable.Rows) { ServerExists = false; foreach (Server CurServer in Servers) { if (CurServer.ID == Convert.ToInt32(CurNetwork["id"])) { ServerExists = true; CurServer.JoinChannels(); } } if (!ServerExists) { Server TempServer = new Server(Servers); TempServer.ID = Convert.ToInt32(CurNetwork["id"]); TempServer.Hostname = CurNetwork["server"].ToString(); TempServer.Network = CurNetwork["name"].ToString(); TempServer.Port = Convert.ToInt32(CurNetwork["port"]); TempServer.Pass = CurNetwork["password"].ToString(); TempServer.RealName = CurNetwork["realname"].ToString(); TempServer.Nick = CurNetwork["nickname"].ToString(); TempServer.AltNick = CurNetwork["altnickname"].ToString(); Servers.Add(TempServer); TempServer.Connect(); } } }
public bool Send(string DataToSend) { if (ClientSock.Connected) { AppLog.WriteLine(5, "DATA", ParentServer.Network + ": OUT: " + DataToSend); DataToSend += "\n"; byte[] NewData = new byte[DataToSend.Length]; ClientSock.BeginSend(Encoding.UTF8.GetBytes(DataToSend), 0, DataToSend.Length, 0, new AsyncCallback(OnSendComplete), ClientSock); return(true); } else { ParentServer.Connect(); return(false); } }
public void Disconnected(object IRCServer) { AppLog.WriteLine(5, "TIMR", "No ping response or activity after " + Config.PingTimeout + " seconds. Disconnect Timer Executed..."); AppLog.WriteLine(5, "TIMR", "Disconnect Timer Destroyed..."); m_DetectDisconnectTimer.Dispose(); AppLog.WriteLine(5, "TIMR", "Initiating reconnection..."); m_IRCServer.Connect(); }