/// <summary> /// 组装自定义数据包 /// </summary> /// <typeparam name="T">数据包类型</typeparam> /// <param name="msg">数据</param> /// <param name="command">命令</param> /// <param name="platform">目标平台</param> /// <param name="shopId">店铺ID</param> /// <param name="info">普通消息</param> /// <returns></returns> public static string GetTransmitPackets <T>(this T msg, CustomCommand command, string platform = "", string shopId = "", string info = "") where T : class { TransmitPackets <T> transmit = new TransmitPackets <T> { Command = (int)command, Data = msg, Platform = platform, ShopId = shopId, Message = info }; return(transmit.TryToJson(true)); }
//************************************ //Send fuzzed selected packet over the network //written by Parnian Najafi Borazjani //************************************ private void TransmitFuzz_Click_1(object sender, EventArgs e) { CanData can = new CanData(); string msgOutput = ""; if (dataGridView1.SelectedRows.Count > 0 && dataGridView1.SelectedRows[0] != null) { if (dataGridView1.SelectedRows[0].Cells[1].Value == null) return; if (!(String.IsNullOrEmpty(dataGridView1.SelectedRows[0].Cells[1].Value.ToString()))) //ID msgOutput = dataGridView1.SelectedRows[0].Cells[1].Value.ToString() + ";"; if (!(String.IsNullOrEmpty(dataGridView1.SelectedRows[0].Cells[4].Value.ToString()))) //DLC msgOutput += dataGridView1.SelectedRows[0].Cells[4].Value.ToString() + ";"; if (!(String.IsNullOrEmpty(dataGridView1.SelectedRows[0].Cells[5].Value.ToString()))) //flag msgOutput += dataGridView1.SelectedRows[0].Cells[5].Value.ToString() + ";"; else msgOutput += "S" + ";"; if (Monitor_Hex.Checked == true) { can.format = "hex"; msgOutput += dataGridView1.SelectedRows[0].Cells[2].Value.ToString().Replace(" ", string.Empty); } else { can.format = "decimal"; msgOutput += dataGridView1.SelectedRows[0].Cells[2].Value.ToString(); } ////put for testing // MessageBox.Show("Data to convert:" + msgOutput); CommonUtils.ConvertStringtoCAN(can, msgOutput); //added can.hardware = TransmitInterfaceBox.SelectedItem.ToString(); // Verbose Output //if (VerboseTransmit.Checked == true) // MessageBox.Show(CommonUtils.DisplayMsg(can)); } TransmitPackets tp = new TransmitPackets(); tp.ShowForm(can); tp.MdiParent = MainWindow.ActiveForm; tp.Show(); }