void ReceiveMCUData(int len, BinaryReader reader, string ip) { if (len == 1) { char ret = (char)reader.ReadByte(); if (ret == 'o') { _CurrentMCUFrame++; MainEntry.SendToTerminal(SendMCUData(MainEntry.GetTerminalIPEndPoint(ip))); Console.WriteLine("ReceiveMCUData Frame OK"); } else if (ret == 'e') { _CurrentMCUFrame = 0; Console.WriteLine("ReceiveMCUData Error"); } else if (ret == 'c') { _CurrentMCUFrame = 0; Console.WriteLine("ReceiveMCUData All OK"); } } }
void ReceiveSensorData(int len, BinaryReader reader, string ip) { MainEntry.SendToTerminal(SendSensorDataRsp(MainEntry.GetTerminalIPEndPoint(ip)), false); UInt32 timestamps = reader.ReadUInt32(); UInt32 timestampms = reader.ReadUInt32(); UInt16 rate = reader.ReadUInt16(); UInt16 gain = reader.ReadUInt16(); //for(int i = 0;i < len - 12;i += 2)//每次处理2个字节 len - 12 = 1200 //{ // Int16 advalue = reader.ReadInt16(); // if(_MySqlConnector != null) // { // _MySqlConnector.InsertSensor(ip, timestampms, advalue); // } //} byte[] bufferdata = reader.ReadBytes(len - 12); //if (_MySqlConnector != null) //{ // _MySqlConnector.InsertSensor(ip, timestamps, timestampms,rate,gain,bufferdata); //} //测试用 //ip = string.Format("192.168.{0}.{1}", rate, gain); Console.WriteLine("ReceiveSensorData " + (len - 12) / 2); }
void ReceiveCheck(int len, BinaryReader reader, string ip) { Console.WriteLine("ReceiveCheck OK"); var pkg = SendCheck(MainEntry.GetTerminalIPEndPoint(ip)); Console.WriteLine("ReceiveCheck OK Pkg"); MainEntry.SendToTerminal(pkg, false); Console.WriteLine("ReceiveCheck OK Finish"); }
void ReceiveSensorData(int len, BinaryReader reader, string ip) { MainEntry.SendToTerminal(SendSensorDataRsp(MainEntry.GetTerminalIPEndPoint(ip)), false); UInt32 timestamps = reader.ReadUInt32(); UInt32 timestampms = reader.ReadUInt32(); UInt16 rate = reader.ReadUInt16(); UInt16 gain = reader.ReadUInt16(); //for(int i = 0;i < len - 12;i += 2)//每次处理2个字节 len - 12 = 1200 //{ // Int16 advalue = reader.ReadInt16(); // if(_MySqlConnector != null) // { // _MySqlConnector.InsertSensor(ip, timestampms, advalue); // } //} if (TerminalController._ConnectedTerminals.ContainsStringKey(ip)) { TerminalController._ConnectedTerminals.GetStringKey(ip).mIsStart = true; TerminalController._ConnectedTerminals.GetStringKey(ip).mRate = rate; TerminalController._ConnectedTerminals.GetStringKey(ip).mGain = gain; TerminalController._ConnectedTerminals.GetStringKey(ip).ResetTimer(); } else { TerminalController._ConnectedTerminals.AddIfNotExistStringKey(ip); TerminalController._ConnectedTerminals.GetStringKey(ip).mRate = rate; TerminalController._ConnectedTerminals.GetStringKey(ip).mGain = gain; TerminalController._ConnectedTerminals.GetStringKey(ip).mIsStart = true; } byte[] bufferdata = reader.ReadBytes(len - 12); //if (_MySqlConnector != null) //{ // _MySqlConnector.InsertSensor(ip, timestamps, timestampms,rate,gain,bufferdata); //} //测试用 //ip = string.Format("192.168.{0}.{1}", rate, gain); _SensorCache.Insert(ip, timestamps, timestampms, rate, gain, bufferdata); Console.WriteLine("ReceiveSensorData " + (len - 12) / 2); }
//void ReceiveGroundTruth(StringPackage pkg) void ReceiveGroundTruth(int len, BinaryReader reader, string ip) { try { //string ip = pkg._ReceiveFrom.Address.ToString(); //string s = pkg._StringContent; //int start = s.IndexOf('>'); //int end = s.IndexOf('='); //string time = s.Substring(start + 1, end - start - 1); //string slr = s.Substring(end + 1, 1); //ushort lr = Convert.ToUInt16(slr); //string[] timeparam = time.Split(':'); //if (timeparam.Length == 4) //{ // int hour = Convert.ToInt32(timeparam[0]); // int min = Convert.ToInt32(timeparam[1]); // int sec = Convert.ToInt32(timeparam[2]); // int ms = Convert.ToInt32(timeparam[3]); //} byte nodeIndex = reader.ReadByte(); byte lr = reader.ReadByte(); int timestamps = reader.ReadInt32(); int timestampms = reader.ReadInt32(); //if (_MySqlConnector != null) //{ // _MySqlConnector.InsertGroundTruth(ip, timestamps, timestampms, nodeIndex,lr); //} _GroundTruthCache.Insert(ip, nodeIndex, timestamps, timestampms, lr); //MainEntry.SendToTerminal(SendGroundTruthRsp(pkg._ReceiveFrom, true),false); MainEntry.SendToTerminal(SendGroundTruthRsp(MainEntry.GetTerminalIPEndPoint(ip), true), false); } catch (Exception e) { //MainEntry.SendToTerminal(SendGroundTruthRsp(pkg._ReceiveFrom, false),false); MainEntry.SendToTerminal(SendGroundTruthRsp(MainEntry.GetTerminalIPEndPoint(ip), false), false); } }
void ReceiveMessage(int len, BinaryReader reader, string ip) { Console.WriteLine("ReceiveMessage OK"); if (TerminalController._ConnectedTerminals.ContainsStringKey(ip)) { TerminalController._ConnectedTerminals.GetStringKey(ip).ResetTimer(); } else { TerminalController._ConnectedTerminals.AddIfNotExistStringKey(ip); } MainEntry.SendToTerminal(SendMessageRsp(MainEntry.GetTerminalIPEndPoint(ip)), false); }
void ReceiveSyncAutoRsp(StringPackage pkg) { if (pkg._StringContent.StartsWith("y")) { string T1 = pkg._StringContent.Replace("y>", "Y>"); DateTime recTime = (DateTime)pkg._AddtionalData; string T2 = string.Format("+{0:D2}:{1:D2}:{2:D2}:{3}", recTime.Hour, recTime.Minute, recTime.Second, recTime.Millisecond); DateTime now = DateTime.Now; string T3 = string.Format("+{0:D2}:{1:D2}:{2:D2}:{3}", now.Hour, now.Minute, now.Second, now.Millisecond); string str = T1 + T2 + T3; Console.WriteLine("ReceiveSyncAuto OK"); MainEntry.SendToTerminal(new StringPackage(pkg._ReceiveFrom, null, str), false); } }
void ParseJsonFromWeb(JsonPackage pkg) { try { string cmd = pkg.GetString("cmd").ToString(); if (cmd == "check") { IPEndPoint iep = MainEntry.GetTerminalIPEndPoint(pkg.GetString("ip")); MainEntry.SendToTerminal(SendCheck(iep)); MainEntry.SendToWeb(SendCmdJson("checkrsp", pkg.GetString("ip"), "ok")); } else if (cmd == "reset") { IPEndPoint iep = MainEntry.GetTerminalIPEndPoint(pkg.GetString("ip")); MainEntry.SendToTerminal(SendReset(iep)); MainEntry.SendToWeb(SendCmdJson("resetrsp", pkg.GetString("ip"), "ok")); } else if (cmd == "startstop") { IPEndPoint iep = MainEntry.GetTerminalIPEndPoint(pkg.GetString("ip")); MainEntry.SendToTerminal(SendStartStop(iep, pkg.GetBool("isstart"))); } else if (cmd == "collection") { IPEndPoint iep = MainEntry.GetTerminalIPEndPoint(pkg.GetString("ip")); MainEntry.SendToTerminal(SendCollect(iep, pkg.GetUInt16("gain"), pkg.GetUInt16("rate"))); } else if (cmd == "mcu") { IPEndPoint iep = MainEntry.GetTerminalIPEndPoint(pkg.GetString("ip")); MainEntry.SendToTerminal(SendMCU(iep, pkg.GetString("binpath"))); } } catch (Exception ex) { Console.WriteLine(ex); } }
void ReceiveMCU(int len, BinaryReader reader, string ip) { if (len == 1) { char ret = (char)reader.ReadByte(); if (ret == 'o') { Console.WriteLine("ReceiveMCU OK"); MainEntry.SendCBParse("SendU", ip); _CurrentMCUFrame = 0; MainEntry.SendToTerminal(SendMCUData(MainEntry.GetTerminalIPEndPoint(ip))); } else if (ret == 'e') { Console.WriteLine("ReceiveMCU Error"); MainEntry.SendCBParse("SendU", "error"); } } }
private void HandleTimer(object data) { PackageTimerData ptdata = data as PackageTimerData; ptdata._Count++; if (ptdata._Count > _MaxRetry && _WaitingRspDic.ContainsKey(ptdata._Package._Cmd)) { RemovePackage(ptdata._Package._Cmd); Console.WriteLine(string.Format("QueueNeedRsp Retry Failed: {0} IP: {1}", ptdata._Package._Cmd, ptdata._Package._SendTo.Address)); } else { Console.WriteLine(string.Format("QueueNeedRsp Retry Cmd: {0} count: {1}", ptdata._Package._Cmd, ptdata._Count)); MainEntry.SendToTerminal(ptdata._Package, false); var stateTimer = new Timer(HandleTimer, data, _Timeout, Timeout.Infinite); ptdata._Timer = stateTimer; } }
void ReceiveMessage(int len, BinaryReader reader, string ip) { Console.WriteLine("ReceiveMessage OK"); MainEntry.SendToTerminal(SendMessageRsp(MainEntry.GetTerminalIPEndPoint(ip)), false); }