private static void PrintAvailableInterfaces() { var interfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface ni in interfaces) { if (ni.OperationalStatus == OperationalStatus.Up) { Talk.Info("Network interface found: \n{0}", new NetworkInterfaceData(ni).ToString()); } } }
private void Save(object sender, ElapsedEventArgs args) { try { var filename = SettingManager.Instance.Settings.CurrentProject.Replace(".json", string.Empty).ToLower(); StateManager.Instance.SaveStateBackup(filename, getNextFileIndex()); Talk.Info("'" + filename + "' backup saved."); } catch (Exception e) { Talk.Error("Backup save failed, error message: " + e.Message); } }
protected void WriteServerSentEvent( HttpListenerContext context, int status, string eventType, Dictionary <string, string> data) { var response = context.Response; // Check if connection isn't dead. if (!response.OutputStream.CanWrite) { Talk.Error("The '" + context.Request.RemoteEndPoint + "' has died for some reason. Removing this client."); CloseConnection(context); return; } // All good.. write some response. response.AddHeader("Access-Control-Allow-Origin", "*"); response.AddHeader("Cache-Control", "no-cache"); response.KeepAlive = true; response.StatusCode = status; response.ContentType = "text/event-stream"; if (data != null) { var eventData = Encoding.UTF8.GetBytes("event:" + eventType + "\n"); var dataData = Encoding.UTF8.GetBytes("data:" + GetSSEDataString(data)); var endData = Encoding.UTF8.GetBytes("\n\n"); response.OutputStream.Write(eventData, 0, eventData.Length); response.OutputStream.Write(dataData, 0, dataData.Length); response.OutputStream.Write(endData, 0, endData.Length); Talk.Info(String.Format("Sending event -> type: {0}, data: {1}", eventType, StringUtil.MapToString(data).Replace("\r", "").Replace("\n", "").Replace("\"", "").Replace("{", "\r\n{").Replace(",", "")) ); } else { response.OutputStream.Write(new byte[0], 0, 0); Talk.Info("Sending 'keep-alive' event stream to: " + context.Request.RemoteEndPoint.Address); } }
public void Start() { if (server != null) { try { server.Start(); Talk.Info("Started on port " + port); } catch (Exception e) { Talk.Error("Failed to start on port " + port + ". " + e.ToString()); return; } isRunning = true; new Thread(() => { while (isRunning) { var context = server.GetContext(); IHttpRequestHandler handler = null; Talk.Info("From: '" + context.Request.RemoteEndPoint.Address + ", Request => " + context.Request.Url); // get relative url cause handlers are sotred by relative keys var url = GetRealtiveUrl(context.Request.Url.ToString()); if (requestHandlers.TryGetValue(url, out handler)) { handler.HandleRequest(context); } else { new RestPrefixNotRegistredHandler().HandleRequest(context); } } }).Start(); } else { Talk.Warning("Not initialized. Server not started."); } }
public void Start() { if (socket == null) { InitSocket(); } try { if (TryGetIp(out IPAddress ip) && TryGetSubnetmask(out IPAddress subnet)) { socket.Open(ip, subnet); Talk.Info("Socket sucessfully binded to " + ip + " / " + subnet); } else { throw new ArgumentException("Ip or subnet mask is currupt"); } }
public static void HandleFatalException(Exception e) { Talk.Fatal("No joke. The app crashed successfully!"); Talk.Fatal("If you want to know why -> pelase press 'y' -> othervise press anything you like."); switch (Console.ReadKey(true).Key) { case ConsoleKey.Y: { Talk.Fatal("Error message: " + e.Message); Talk.Fatal("Stacktrace:" + e.StackTrace); break; } } Talk.Info("If you think this is no big deal -> please press 'y' to continue.. or any other key to restart the app."); if (Console.ReadKey().Key == ConsoleKey.Y) { return; } Cmd.RestartProcess(false); }
public static void WriteFile(string path, bool relative, string data) { var dir = Path.GetDirectoryName(GetRelativePath() + path); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } if (relative) { path = GetRelativePath() + path; } try { File.WriteAllText(path, data); Talk.Info(path + " written successfully."); } catch (Exception e) { Talk.Error(path + "write error => " + e.ToString()); } }
public void Stop() { trackingThread.Abort(); trackingThread = null; Talk.Info("Dmx sgnal trcking stoped."); }
public void Start() { StartTracking(); Talk.Info("Dmx sgnal trcking started."); }