public bool funSendOneFramCmd(string strjson)//发送信息 { bool flag = false; try { stuBaseNumFrame stuBf = new stuBaseNumFrame(); stuBf = funOneContentToBaseFrame(strjson); byte[] strByte; strByte = funOneBaseNumFrameToByteArray(stuBf); //string str2 = "发送命令"; // gLogWriter.WriteLog(str2, strjson);//写入日志 if (m_clsClient != null && m_clsClient.getConnectState()) { m_clsClient.SendToServer(strByte); flag = true; } } catch (Exception ex) { flag = false; Debug.WriteLine("发送指令到服务器出错" + ex.Message); // throw e; } return(flag); }
public byte[] funOneBaseNumFrameToByteArray(stuBaseNumFrame m_stuOneBaseNumFramBuf) //一帧数据转发化字节数组 { int i, intCrc; intCrc = 0x00; int intlen = m_stuOneBaseNumFramBuf.bt_Content.Length; byte[] btRe = new byte[intlen + 12]; //给字头 btRe[0] = m_stuOneBaseNumFramBuf.bt2_SOI[0]; btRe[1] = m_stuOneBaseNumFramBuf.bt2_SOI[1]; //给随机码 btRe[2] = m_stuOneBaseNumFramBuf.bt_RandCode; intCrc = intCrc ^ btRe[2]; //给SID //for (i = 0; i < 4; i++) //{ // btRe[3 + i] = m_stuOneBaseNumFramBuf.bt4_SID[i]; // intCrc = intCrc ^ btRe[3 + i]; //} //////给长度 btRe[7] = (byte)(intlen % 256); btRe[8] = (byte)(intlen / 256); btRe[9] = 0x00; btRe[10] = 0x00; //给校验 intCrc = intCrc ^ btRe[7]; intCrc = intCrc ^ btRe[8]; intCrc = intCrc ^ btRe[9]; intCrc = intCrc ^ btRe[10]; /////给内容 for (i = 0; i < intlen; i++) { btRe[11 + i] = (byte)(m_stuOneBaseNumFramBuf.bt_Content[i] ^ m_stuOneBaseNumFramBuf.bt_RandCode); intCrc = intCrc ^ btRe[11 + i]; } //给校验 btRe[intlen + 11] = (byte)(intCrc); return(btRe); }
//测试 ----与监控端的通讯 public void funSendMonitor(int intLstIndex, string strbuf) { string str1; int intre = -1; try { str1 = JsonConvert.SerializeObject(strbuf); stuBaseNumFrame stuBf = new stuBaseNumFrame(); stuBf = funOneContentToBaseFrame(strbuf); byte[] btbuf; btbuf = funOneBaseNumFrameToByteArray(stuBf); if ((intLstIndex >= 0) && (intLstIndex < frmMainMo.C_myServer.g_lstConnectMonitorTab.Count)) { intre = frmMainMo.C_myServer.g_lstConnectMonitorTab[intLstIndex].sendMegToCilent(btbuf); } } catch (Exception) { throw; } }
public stuBaseNumFrame funOneContentToBaseFrame(string jobjBuf) //一个Josn帧转发为基础帧 { int i; stuBaseNumFrame stuRe_BaseNumeFram = new stuBaseNumFrame(); stuRe_BaseNumeFram.bt2_SOI = new byte[2]; stuRe_BaseNumeFram.bt2_SOI[0] = m_stuSystemVar.bt2_SOI[0]; // 0x85; stuRe_BaseNumeFram.bt2_SOI[1] = m_stuSystemVar.bt2_SOI[1]; // 0x66; Random rd = new Random(); i = (int)(rd.Next() % 256); stuRe_BaseNumeFram.bt_RandCode = (byte)i; stuRe_BaseNumeFram.bt4_SID = new byte[4]; for (i = 0; i < 4; i++) { stuRe_BaseNumeFram.bt4_SID[i] = m_stuSystemVar.bt4_SID[i]; } string strContentBuf = ""; strContentBuf = JsonConvert.SerializeObject(jobjBuf); stuRe_BaseNumeFram.bt_Content = System.Text.Encoding.UTF8.GetBytes(strContentBuf); return(stuRe_BaseNumeFram); }
public void funSendOneFramCmd(string strTo, string strbuf) { string str1; try { str1 = JsonConvert.SerializeObject(strbuf); stuBaseNumFrame stuBf = new stuBaseNumFrame(); stuBf = funOneContentToBaseFrame(strbuf); byte[] btbuf; btbuf = funOneBaseNumFrameToByteArray(stuBf); for (int i = 0; i < frmMainMo.C_myServer.g_lstConnectMonitorTab.Count; i++) { if ((strTo == frmMainMo.C_myServer.g_lstConnectMonitorTab[i].strLoginUserName)) { frmMainMo.C_myServer.SendOneClientMsgByIndex(i, btbuf); } } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "命令不规范"); } }
public void funSendOneFramCmd_repeat(string strTo, string strbuf)//异地登录 { string str1; try { str1 = JsonConvert.SerializeObject(strbuf); stuBaseNumFrame stuBf = new stuBaseNumFrame(); stuBf = funOneContentToBaseFrame(strbuf); byte[] btbuf; btbuf = funOneBaseNumFrameToByteArray(stuBf); for (int i = 0; i < frmMainMo.C_myServer.g_lstConnectMonitorTab.Count; i++) { if ((strTo == frmMainMo.C_myServer.g_lstConnectMonitorTab[i].strLoginUserName)) { frmMainMo.C_myServer.SendOneClientMsgByIndex(i, btbuf); } return; } } catch (Exception) { } }