private void UpdateRow0x09(ClientSession session, Data0x09 data) { var row = dtgCmd0x09.Rows.Cast <DataGridViewRow>().FirstOrDefault(x => !string.IsNullOrEmpty(x.Cells[COLUMN_NAME_SESSIONID_2]?.Value?.ToString()) && session.SessionID == (x.Cells[COLUMN_NAME_SESSIONID_2]?.Value?.ToString())); if (row != null) { string ipECR = ConvertToIPAddress(data.IP_ECR); string ipServer = ConvertToIPAddress(data.IP_Server); string portServer = (data.Port_Server[0].ConvertToHex() + data.Port_Server[1].ConvertToHex()).ConvertToPort(); string ssid = data.SSID.UnsafeAsciiBytesToString(0); string ssidLength = data.SSID_Length.ToString(); string key = data.Key.UnsafeAsciiBytesToString(0); string keyLength = data.Key_Length.ToString(); string modeECR = data.Mode_ECR.ToString(); string ipServerECR = ConvertToIPAddress(data.IP_Server_ECR); string portServerECR = (data.Port_Server_ECR[0].ConvertToHex() + data.Port_Server_ECR[1].ConvertToHex()).ConvertToPort(); row.Cells[COLUMN_NAME_IP_ECR].Value = ipECR; row.Cells[COLUMN_NAME_IP_SERVER].Value = ipServer; row.Cells[COLUMN_NAME_PORT_SERVER].Value = portServer; row.Cells[COLUMN_NAME_SSID].Value = ssid; row.Cells[COLUMN_NAME_SSID_LENGTH].Value = ssidLength; row.Cells[COLUMN_NAME_KEY].Value = key; row.Cells[COLUMN_NAME_KEY_LENGTH].Value = keyLength; row.Cells[COLUMN_NAME_MODE_ECR].Value = modeECR; row.Cells[COLUMN_NAME_IP_SERVER_ECR].Value = ipServerECR; row.Cells[COLUMN_NAME_PORT_SERVER_ECR].Value = portServerECR; } }
private void InsertRow0x09(ClientSession session, Data0x09 data) { string sessionID = session.SessionID; string ipECR = ConvertToIPAddress(data.IP_ECR); string ipServer = ConvertToIPAddress(data.IP_Server); string portServer = (data.Port_Server[0].ConvertToHex() + data.Port_Server[1].ConvertToHex()).ConvertToPort(); string ssid = data.SSID.UnsafeAsciiBytesToString(0); string ssidLength = data.SSID_Length.ToString(); string key = data.Key.UnsafeAsciiBytesToString(0); string keyLength = data.Key_Length.ToString(); string modeECR = data.Mode_ECR.ToString(); string ipServerECR = ConvertToIPAddress(data.IP_Server_ECR); string portServerECR = (data.Port_Server_ECR[0].ConvertToHex() + data.Port_Server_ECR[1].ConvertToHex()).ConvertToPort(); dtgCmd0x09.Rows.Add(false, sessionID, ipECR, ipServer, portServer, ssid, ssidLength, key, keyLength, modeECR, ipServerECR, portServerECR); }
private Dictionary <ClientSession, Data0x09> GetData0x09() { Dictionary <ClientSession, Data0x09> data = new Dictionary <ClientSession, Data0x09>(); foreach (var item in _dicSrc0x09) { ClientSession session = item.Key; Data0x09 data0X09 = ConvertByteArrayToData0x09(item.Value.Data); if (!data.ContainsKey(session)) { data.Add(session, data0X09); } else { data[session] = data0X09; } } return(data); }
private void StoreData0x09(ClientSession session, byte[] message) { Exec(() => { byte[] data = new byte[message.Length - 7]; Buffer.BlockCopy(message, 6, data, 0, message.Length - 7); Data0x09 data0X09 = ConvertByteArrayToData0x09(data); if (!_dic0x09.ContainsKey(session)) { _dic0x09.TryAdd(session, data0X09); InsertRow0x09(session, data0X09); } else { _dic0x09[session] = data0X09; UpdateRow0x09(session, data0X09); } }); }
public Frame AnalysisData(Data0x09 data) { Frame frame = new Frame() { Code = Constants.Hx09, Data = new byte[data.Length] }; int indexOffArr = 0; //4 byte IP ECR for (int i = 0; i < data.IP_ECR.Length; i++) { frame.Data[indexOffArr] = data.IP_ECR[i]; indexOffArr++; } //4 Byte IP SERVER for (int i = 0; i < data.IP_Server.Length; i++) { frame.Data[indexOffArr] = data.IP_Server[i]; indexOffArr++; } //2 Byte Port SERVER for (int i = 0; i < data.Port_Server.Length; i++) { frame.Data[indexOffArr] = data.Port_Server[i]; indexOffArr++; } //1 Byte độ dài SSID frame.Data[indexOffArr] = data.SSID_Length; indexOffArr++; //32 Byte SSID for (int i = 0; i < data.SSID.Length; i++) { frame.Data[indexOffArr] = data.SSID[i]; indexOffArr++; } //1 Byte độ dài KEY frame.Data[indexOffArr] = data.Key_Length; indexOffArr++; //16 byte KEY for (int i = 0; i < data.Key.Length; i++) { frame.Data[indexOffArr] = data.Key[i]; indexOffArr++; } //1 Byte chế độ ECR (ECR = 0, ECR_RF = 1) frame.Data[indexOffArr] = data.Mode_ECR; indexOffArr++; //4 Byte IP SERVER của ECR kết nối với tủ trung tâm trong chế độ tập tự do không chạy phần mềm trên máy tính for (int i = 0; i < data.IP_Server_ECR.Length; i++) { frame.Data[indexOffArr] = data.IP_Server_ECR[i]; indexOffArr++; } //2 Byte Port SERVER của ECR kết nối với tủ trung tâm trong chế độ tập tự do không chạy phần mềm trên máy tính for (int i = 0; i < data.Port_Server_ECR.Length; i++) { frame.Data[indexOffArr] = data.Port_Server_ECR[i]; indexOffArr++; } return(frame); }
private Data0x09 ConvertByteArrayToData0x09(byte[] arr) { Data0x09 data0X09 = new Data0x09(); try { int indexOfArr = 0; //4 byte IP ECR for (int i = 0; i < data0X09.IP_ECR.Length; i++) { data0X09.IP_ECR[i] = arr[indexOfArr]; indexOfArr++; } //4 Byte IP SERVER for (int i = 0; i < data0X09.IP_Server.Length; i++) { data0X09.IP_Server[i] = arr[indexOfArr]; indexOfArr++; } //2 Byte Port SERVER for (int i = 0; i < data0X09.Port_Server.Length; i++) { data0X09.Port_Server[i] = arr[indexOfArr]; indexOfArr++; } //1 Byte độ dài SSID data0X09.SSID_Length = arr[indexOfArr]; indexOfArr++; //32 Byte SSID for (int i = 0; i < data0X09.SSID.Length; i++) { data0X09.SSID[i] = arr[indexOfArr]; indexOfArr++; } //1 Byte độ dài KEY data0X09.Key_Length = arr[indexOfArr]; indexOfArr++; //16 byte KEY for (int i = 0; i < data0X09.Key.Length; i++) { data0X09.Key[i] = arr[indexOfArr]; indexOfArr++; } //1 Byte chế độ ECR (ECR = 0, ECR_RF = 1) data0X09.Mode_ECR = arr[indexOfArr]; indexOfArr++; //4 Byte IP SERVER của ECR kết nối với tủ trung tâm trong chế độ tập tự do không chạy phần mềm trên máy tính for (int i = 0; i < data0X09.IP_Server_ECR.Length; i++) { data0X09.IP_Server_ECR[i] = arr[indexOfArr]; indexOfArr++; } //2 Byte Port SERVER của ECR kết nối với tủ trung tâm trong chế độ tập tự do không chạy phần mềm trên máy tính for (int i = 0; i < data0X09.Port_Server_ECR.Length; i++) { data0X09.Port_Server_ECR[i] = arr[indexOfArr]; indexOfArr++; } } catch (Exception ex) { MessageBox.Show("Đã xảy ra lỗi trong quá trình phân tích dữ liệu", "", MessageBoxButtons.OK, MessageBoxIcon.Error); FileHelper.WriteLogError("", ex.Message + Environment.NewLine + ex.StackTrace); } return(data0X09); }