public static void run(ServicesObject so) { List <int> toRet = new List <int>(); try { using (TcpClient client = new TcpClient()) { var result = client.BeginConnect(so.IPAddress.Trim(), so.port, null, null); var success = result.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(4)); if (success) { IMClient imc = new IMClient(); imc.setConnParams(so.IPAddress.Trim(), so.port); try { imc.SetupConn(); imc.SendSignal(ServiceConn.IM_Diagnostic, "yes"); imc.Disconnect(); ServiceConnectionDelegator.spps.Add(new ServicePlusStatus { service = so, Status = ServicesObject.STATUS_ONLINE }); } catch (Exception) { ServiceConnectionDelegator.spps.Add(new ServicePlusStatus { service = so, Status = ServicesObject.STATUS_OFFLINE }); } } else { ServiceConnectionDelegator.spps.Add(new ServicePlusStatus { service = so, Status = ServicesObject.STATUS_OFFLINE }); } } } catch (SocketException s) { ServiceConnectionDelegator.spps.Add(new ServicePlusStatus { service = so, Status = ServicesObject.STATUS_OFFLINE }); } catch (Exception e) { ServiceConnectionDelegator.spps.Add(new ServicePlusStatus { service = so, Status = ServicesObject.STATUS_OFFLINE }); Console.WriteLine(e.Message); Console.WriteLine(e.Source); Console.WriteLine(e.StackTrace); } }
public void AddService(ServicesObject sro, SQLiteTransaction sqlt) { using (SQLiteCommand cmd = new SQLiteCommand("INSERT INTO Services (Ip, Port, Preference) values ($Ip, $Port, $Preference) ", m_dbConnection)) { cmd.Parameters.AddWithValue("$Ip", sro.IPAddress); cmd.Parameters.AddWithValue("$Port", sro.port); cmd.Parameters.AddWithValue("$Preference", sro.Preference); cmd.Transaction = sqlt; cmd.ExecuteNonQuery(); } }
public void AddService(ServicesObject svo) { using (SQLiteCommand cmd = new SQLiteCommand("INSERT INTO Services " + "(IPAddress, Port, Preference) VALUES ($conn, $port, $pref)", m_dbConnection)) { cmd.Parameters.AddWithValue("$conn", svo.IPAddress); cmd.Parameters.AddWithValue("$port", svo.port); cmd.Parameters.AddWithValue("$pref", svo.Preference); cmd.ExecuteNonQuery(); } }
public void AddService(ServicesObject so, SqlTransaction sqlt) { if (OpenCon()) { String q = "INSERT INTO dbo.Services (IP, Port, Preference) Values (@a, @b, @c)"; SqlCommand comm = new SqlCommand(q, cnn); comm.Transaction = sqlt; comm.Parameters.AddWithValue("a", so.IPAddress); comm.Parameters.AddWithValue("b", so.port); comm.Parameters.AddWithValue("c", so.Preference); comm.ExecuteNonQuery(); } }
public List <ServicesObject> GetServices() { List <ServicesObject> sros = new List <ServicesObject>(); using (SQLiteCommand cmd = new SQLiteCommand("SELECT * From Services", m_dbConnection)) { using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { ServicesObject sro = new ServicesObject(reader["IP"].ToString(), (int)reader["Port"], (int)reader["Preference"]); sros.Add(sro); } return(sros); } } }
private static void RoutineCheck() { SQLiteClass sql = new SQLiteClass(SQLiteClass.ProgramFilesx86() + "\\DuckClient\\Information.dat"); List <SQLiteClass.CachedMessage> cms = sql.GetCachedMessages(); Console.WriteLine("Loading servers"); ServiceConnectionDelegator.LoadServices(); ServicesObject so = ServiceConnectionDelegator.GetService(); if (so == null) { Console.WriteLine("Could not find a server"); } else { Console.WriteLine("Using server: " + so.IPAddress); } IMClient.SendEvent(new Events("DEBUG000", "Debug message 0", 0, Service.GetIPFromConfig(), sql.GetGUID(), DateTime.Now)); foreach (SQLiteClass.CachedMessage cm in cms) { try { IMClient imc = new IMClient(); imc.setConnParams(so.IPAddress.Trim(), so.port); Console.WriteLine("Sending a cached event to " + so.IPAddress); imc.SetupConn(); imc.SendSignal((byte)cm.code, cm.message); imc.Disconnect(); sql.RemoveCachedMessage(cm); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.Source); Console.WriteLine(e.StackTrace); } } }
public static String GetIPFromConfig() { SQLiteClass sql = new SQLiteClass(SQLiteClass.ProgramFilesx86() + "\\DuckClient\\information.dat"); List <ServicesObject> sros = sql.GetServices(); using (RegistryKey key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey(@"SOFTWARE\DuckClient\Address", true)) { if (key != null) { Object o = key.GetValue("PrefIP"); if (o != null) { return(o.ToString()); } else { Console.WriteLine("Registry entry was null"); } } else { WriteKey("127.0.0.1"); } } ServicesObject inUse = ServiceConnectionDelegator.GetService(); Console.WriteLine(inUse); try { return(GetIPAddressLike(inUse.IPAddress)); } catch { } Console.WriteLine("Returning default IP"); return("127.0.0.1"); }
public static void SendEvent(Events ev) { try { ServicesObject so = ServiceConnectionDelegator.GetService(); IMClient imc = new IMClient(); imc.setConnParams(so.IPAddress.Trim(), so.port); imc.SetupConn(); imc.SendSignal(IM_Event, Program.DoSerialize(ev)); imc.Disconnect(); } catch (SocketException e) { Console.WriteLine(e.Message); Console.WriteLine(e.Source); Console.WriteLine(e.StackTrace); SQLiteClass sql = new SQLiteClass(SQLiteClass.ProgramFilesx86() + "\\DuckClient\\Information.dat"); sql.CacheMessage(IM_Event, Program.DoSerialize(ev)); } catch { } }