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)
            {
            }
        }