public void StartListener(int port, SHServer server) { listener = new TcpListener(System.Net.IPAddress.Any, port); listener.Start(); listener.BeginAcceptTcpClient(AcceptTcpClient, listener); this.server = server; }
public SHServerTCPClient(TcpClient client, SHServerTCPServer tcpServer, SHServer server) { this.client = client; stream = client.GetStream(); reader = new BinaryReader(stream); readerS = new StreamReader(stream); writer = new BinaryReader(stream); writerS = new StreamWriter(stream); this.server = server; this.tcpServer = tcpServer; }
public Measurement(byte cmd, SHServer server, string name, string unit, string key) { //server.OnDataReceived += server_OnDataReceived; seriesPointsCount = 0; Name = name; Unit = unit; Key = key; this.server = server; this.cmd = cmd; timer.Elapsed += timer_Elapsed; timer.Interval = 5000; MaxSeriesPointsCount = 50; }
static void Main(string[] args) { server = new SmartHouseServer.SHServer(); Console.WriteLine("aaaa"); ConnectPort(); server.measurements["illumination"].SetMeasurementInterval(500); string cmd; string temp; while (true) { cmd = Console.ReadLine().Trim().ToLower(); if (cmd == "last") { temp = Console.ReadLine().Trim().ToLower(); if (!server.measurements.ContainsKey(temp)) { continue; } Measurement mea = server.measurements[temp]; Console.WriteLine("{0,-10}{1,-10}", "Дата", mea.Name); Console.WriteLine("{0,-10:T}{1,-10}", mea.Last.CreationTime, mea.Last.Value); Console.WriteLine("\n"); } else if (cmd == "list") { temp = Console.ReadLine().Trim().ToLower(); if (!server.measurements.ContainsKey(temp)) { continue; } Measurement mea = server.measurements[temp]; Console.WriteLine("{0,-10}{1,-10}", "Дата", mea.Name); foreach (MeasurementData data in mea.History) { Console.WriteLine("{0,-10:T}{1,-10}", data.CreationTime, data.Value); } Console.WriteLine("\n"); } else if (cmd == "set interval") { temp = Console.ReadLine().Trim().ToLower(); if (!server.measurements.ContainsKey(temp)) { continue; } Measurement mea = server.measurements[temp]; Console.WriteLine("Введите интервал измерений для [{0}] в с", mea.Name); temp = Console.ReadLine().Trim(); mea.SetMeasurementInterval(Convert.ToDouble(temp) * 1000); } else if (cmd == "start") { temp = Console.ReadLine().Trim().ToLower(); if (!server.measurements.ContainsKey(temp)) { continue; } Measurement mea = server.measurements[temp]; mea.StartMeasurementTimer(); } else if (cmd == "stop") { temp = Console.ReadLine().Trim().ToLower(); if (!server.measurements.ContainsKey(temp)) { continue; } Measurement mea = server.measurements[temp]; mea.StopMeasurementTimer(); } else if (cmd == "start all") { foreach (Measurement mea in server.measurements.Values) { mea.StartMeasurementTimer(); } } else if (cmd == "stop all") { foreach (Measurement mea in server.measurements.Values) { mea.StopMeasurementTimer(); } } else if (cmd == "exit") { break; } else if (cmd == "connect") { ConnectPort(); } else { } } Console.WriteLine("Ожидание нажатия клавиши для завершения работы"); Console.ReadKey(); }