示例#1
0
 private void button11_Click(object sender, EventArgs e)
 {
     label1.Text = "";
     try
     {
         string                 datastring       = "{\"frame_type\":\"real_time_data\",\"equipment_type\":\"dust_noise\",\"time_stamp\":\"2019-08-0822:27:00\",\"frame_token\":\"z7d8jfgn39ki987779jh2\",\"short_link\":\"true\",\"data\":{\"sn\":\"12345678\",\"timestamp\":1565338446000,\"pm2_5\":231,\"pm10\":000,\"tsp\":000,\"noise\":1300,\"temperature\":2000,\"humidity\":4500,\"wind_speed\":030,\"wind_grade\":1,\"wind_direction\":000,\"air_pressure\":000,\"rainfall\":000}}";
         Send_frame             temp             = JsonConvert.DeserializeObject <Send_frame>(datastring);
         Dust_noise__send_frame tower_Send_Frame = JsonConvert.DeserializeObject <Dust_noise__send_frame>(temp.data.ToString());
         //第一帧
         tower_Send_Frame.pm2_5     = Class1.NextDouble1(new Random(), 200, 500);
         tower_Send_Frame.pm10      = Class1.NextDouble1(new Random(), 200, 500);
         tower_Send_Frame.noise     = Class1.NextDouble1(new Random(), 100, 170);
         tower_Send_Frame.timestamp = Class1.ConvertDateTimeLong(DateTime.Now);
         temp.data       = tower_Send_Frame;
         temp.time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         client.Connect("39.104.228.149", 6000);
         string sendstring = JsonConvert.SerializeObject(temp);
         int    t          = client.Send(Encoding.UTF8.GetBytes(sendstring));
         client.Close();
         MessageBox.Show("完成");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     label1.Text = "";
 }
示例#2
0
        private void button12_Click(object sender, EventArgs e)
        {
            string project_code     = textBox1.Text;
            string personal_id_code = textBox2.Text;
            string in_or_out        = comboBox1.Text;

            try
            {
                string datastring = "{\"frame_type\":\"real_time_data\",\"equipment_type\":\"personnel\",\"time_stamp\":\"2019-08-0822:27:00\",\"frame_token\":\"z7d8jfgn39ki987779jh2\",\"short_link\":\"true\",\"data\":{\"project_code\":\"" + project_code + "\",\"sn\":\"13246\",\"gate_no\":\"145\",\"timestamp\":" + Class1.ConvertDateTimeLong(DateTime.Now) + ",\"channel_no\":\"1\",\"cert_mode\":\"03\",\"in_or_out\":\"" + in_or_out + "\",\"personal_id_code\":\"" + personal_id_code + "\",\"features_code\":\"\"}}";
                // string datastring =string.Format("{\"frame_type\":\"real_time_data\",\"equipment_type\":\"personnel\",\"time_stamp\":\"2019-08-0822:27:00\",\"frame_token\":\"z7d8jfgn39ki987779jh2\",\"short_link\":\"true\",\"data\":{\"project_code\":\"{0}\",\"sn\":\"13246\",\"gate_no\":\"145\",\"timestamp\":{1},\"channel_no\":\"1\",\"cert_mode\":\"03\",\"in_or_out\":\"{2}\",\"personal_id_code\":\"{3}\",\"features_code\":\"\"}}", project_code, Class1.ConvertDateTimeLong(DateTime.Now), in_or_out, personal_id_code);
                Send_frame           temp             = JsonConvert.DeserializeObject <Send_frame>(datastring);
                Personnel_send_frame tower_Send_Frame = JsonConvert.DeserializeObject <Personnel_send_frame>(temp.data.ToString());
                //第一帧
                tower_Send_Frame.timestamp = Class1.ConvertDateTimeLong(DateTime.Now);
                temp.data       = tower_Send_Frame;
                temp.time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                client.Connect("39.104.228.149", 6000);
                string sendstring = JsonConvert.SerializeObject(temp);
                int    t          = client.Send(Encoding.UTF8.GetBytes(sendstring));
                client.Close();
                MessageBox.Show("完成");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            label1.Text = "";
        }
示例#3
0
 private void button7_Click(object sender, EventArgs e)
 {
     label1.Text = "请稍后。。。。。。"; label1.Refresh();
     try
     {
         string                datastring       = "{\"frame_type\":\"real_time_data\",\"equipment_type\":\"discharge\",\"time_stamp\":\"2019-08-0822:27:00\",\"frame_token\":\"z7d8jfgn39ki987779jh2\",\"short_link\":\"true\",\"data\":{\"sn\":\"12345678\",\"is_warning\":\"Y\",\"warning_type\":[\"04\"],\"timestamp\":1565338446000,\"weight\":231,\"dip_x\":000,\"dip_y\":000}}";
         Send_frame            temp             = JsonConvert.DeserializeObject <Send_frame>(datastring);
         Discharge__send_frame tower_Send_Frame = JsonConvert.DeserializeObject <Discharge__send_frame>(temp.data.ToString());
         //第一帧
         tower_Send_Frame.weight       = 0;
         tower_Send_Frame.is_warning   = "N";
         tower_Send_Frame.warning_type = new string[] { };
         tower_Send_Frame.timestamp    = Class1.ConvertDateTimeLong(DateTime.Now);
         temp.data       = tower_Send_Frame;
         temp.time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         client.Connect("39.104.228.149", 6000);
         string sendstring = JsonConvert.SerializeObject(temp);
         int    t          = client.Send(Encoding.UTF8.GetBytes(sendstring));
         client.Close();
         Thread.Sleep(1000);
         MessageBox.Show("完成");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     label1.Text = "";
 }
示例#4
0
 /// <summary>
 /// 塔吊不报警循环
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void button2_Click(object sender, EventArgs e)
 {
     label1.Text = "请稍后。。。。。。"; label1.Refresh();
     try
     {
         string           datastring       = "{\"frame_type\":\"real_time_data\",\"equipment_type\":\"tower\",\"time_stamp\":\"2019-08-0822:27:00\",\"frame_token\":\"z7d8jfgn39ki987779jh2\",\"short_link\":\"true\",\"data\":{\"sn\":\"12345678\",\"is_warning\":\"Y\",\"warning_type\":[\"04\",\"05\"],\"timestamp\":1565338446000,\"weight\":231,\"height\":231,\"range\":231,\"rotation\":231,\"moment_forces\":231,\"wind_grade\":2,\"wind_speed\":231,\"dip_x\":000,\"dip_y\":000,\"boom_arm_length\":60,\"blance_arm_length\":1,\"tower_body_height\":55,\"tower_hat_height\":2,\"driver_id_code\":\"411402188754652254\"}}";
         Send_frame       temp             = JsonConvert.DeserializeObject <Send_frame>(datastring);
         Tower_send_frame tower_Send_Frame = JsonConvert.DeserializeObject <Tower_send_frame>(temp.data.ToString());
         //第一帧
         tower_Send_Frame.weight       = Class1.NextDouble1(new Random(), 0.3, 5.0);
         tower_Send_Frame.height       = Class1.NextDouble1(new Random(), 10, 55);
         tower_Send_Frame.is_warning   = "N";
         tower_Send_Frame.warning_type = new string[] { };
         tower_Send_Frame.timestamp    = Class1.ConvertDateTimeLong(DateTime.Now);
         temp.data       = tower_Send_Frame;
         temp.time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         client.Connect("39.104.228.149", 6000);
         string sendstring = JsonConvert.SerializeObject(temp);
         int    t          = client.Send(Encoding.UTF8.GetBytes(sendstring));
         client.Close();
         Thread.Sleep(1000);
         //第二帧
         tower_Send_Frame.weight       = Class1.NextDouble1(new Random(), 0.3, 5.0);
         tower_Send_Frame.height       = Class1.NextDouble1(new Random(), 10, 55);
         tower_Send_Frame.is_warning   = "N";
         tower_Send_Frame.warning_type = new string[] { };
         tower_Send_Frame.timestamp    = Class1.ConvertDateTimeLong(DateTime.Now);
         temp.data       = tower_Send_Frame;
         temp.time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         client          = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         client.Connect("39.104.228.149", 6000);
         sendstring = JsonConvert.SerializeObject(temp);
         t          = client.Send(Encoding.UTF8.GetBytes(sendstring));
         client.Close();
         Thread.Sleep(1000);
         //第三帧
         tower_Send_Frame.weight       = 0.0d;
         tower_Send_Frame.height       = Class1.NextDouble1(new Random(), 10, 55);
         tower_Send_Frame.is_warning   = "N";
         tower_Send_Frame.warning_type = new string[] { };
         tower_Send_Frame.timestamp    = Class1.ConvertDateTimeLong(DateTime.Now);
         temp.data       = tower_Send_Frame;
         temp.time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         client          = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         client.Connect("39.104.228.149", 6000);
         sendstring = JsonConvert.SerializeObject(temp);
         t          = client.Send(Encoding.UTF8.GetBytes(sendstring));
         client.Close();
         MessageBox.Show("完成");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     label1.Text = "";
 }
        public static void OnResolveRecvMessage(byte[] b, int c, TcpSocketClient client)
        {
            try
            {
                string     datastring = Encoding.UTF8.GetString(b, 0, c);
                Send_frame sf         = JsonConvert.DeserializeObject <Send_frame>(datastring);
                if (sf == null)
                {
                    //数据错误
                    string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.data_error, Result_code.data_error_des));
                    client.SendMessage(sendmessage);
                    //杀死该socket
                    Thread.Sleep(1000);
                    client.DisSocket();
                }
                //长链接
                else if (sf.short_link == null)
                {
                    if (sf.frame_type == Frame_type.注册帧)
                    {
                        string frame_token = Register_operation.Judge_vendor_code(sf.data);
                        if (string.IsNullOrEmpty(frame_token))
                        {
                            //数据错误
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.vendor_code_error, Result_code.vendor_code_error_des));
                            client.SendMessage(sendmessage);
                            //杀死该socket
                            Thread.Sleep(1000);
                            client.DisSocket();
                        }
                        else
                        {
                            TcpClientBindingExternalClass TcpExtendTemp = client.External.External as TcpClientBindingExternalClass;
                            TcpExtendTemp.uuid = frame_token; //frame_token
                                                              //发送正确的应答
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(new Register_reply_frame()
                            {
                                frame_token = frame_token
                            }));
                            client.SendMessage(sendmessage);
                        }
                    }
                    else if (sf.frame_type == Frame_type.心跳帧)
                    {
                        TcpClientBindingExternalClass TcpExtendTemp = client.External.External as TcpClientBindingExternalClass;
                        //TcpExtendTemp.uuid = "";//frame_token
                        if (TcpExtendTemp.uuid == null || TcpExtendTemp.uuid == "" || TcpExtendTemp.uuid != sf.frame_token)
                        {   //帧token错误
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.frame_token_error, Result_code.frame_token_error_des));
                            client.SendMessage(sendmessage);
                            //杀死该socket
                            Thread.Sleep(1000);
                            client.DisSocket();
                        }
                        else
                        {
                            //正确应答
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.success, Result_code.success_des));
                            client.SendMessage(sendmessage);
                        }
                    }
                    else if (sf.frame_type == Frame_type.数据帧)
                    {
                        TcpClientBindingExternalClass TcpExtendTemp = client.External.External as TcpClientBindingExternalClass;
                        //TcpExtendTemp.uuid = "";//frame_token
                        if (TcpExtendTemp.uuid == null || TcpExtendTemp.uuid == "" || TcpExtendTemp.uuid != sf.frame_token)
                        {   //帧token错误
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.frame_token_error, Result_code.frame_token_error_des));
                            client.SendMessage(sendmessage);
                            //杀死该socket
                            Thread.Sleep(1000);
                            client.DisSocket();
                        }
                        else
                        {
                            //正确应答
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.success, Result_code.success_des));
                            client.SendMessage(sendmessage);
                            //todo解析
                            Data_frame_operation.Data_operation(sf.equipment_type, sf.data);
                        }
                    }
                    else
                    {
                        //数据错误
                        string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.data_error, Result_code.data_error_des));
                        client.SendMessage(sendmessage);
                        //杀死该socket
                        Thread.Sleep(1000);
                        client.DisSocket();
                    }
                }
                //短链接
                else if (sf.short_link == "true")
                {
                    if (sf.frame_type == Frame_type.数据帧)
                    {
                        bool frame_token = Register_operation.Judge_vendor_code(sf.frame_token);
                        if (!frame_token)//厂商验证码不正确
                        {
                            //数据错误
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.vendor_code_error, Result_code.vendor_code_error_des));
                            client.SendMessage(sendmessage);
                            //杀死该socket
                            Thread.Sleep(1000);
                            client.DisSocket();
                        }
                        else//厂商验证码正确
                        {
                            //正确应答
                            string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.success, Result_code.success_des));
                            client.SendMessage(sendmessage);
                            //todo解析
                            Data_frame_operation.Data_operation(sf.equipment_type, sf.data);
                            //短链接差不多就杀死这个链接
                            Thread.Sleep(3000);
                            client.DisSocket();
                        }
                    }
                    else
                    {
                        //数据错误
                        string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.data_error, Result_code.data_error_des));
                        client.SendMessage(sendmessage);
                        //杀死该socket
                        Thread.Sleep(1000);
                        client.DisSocket();
                    }
                }
                else
                {
                    //数据错误
                    string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.data_error, Result_code.data_error_des));
                    client.SendMessage(sendmessage);
                    //杀死该socket
                    Thread.Sleep(1000);
                    client.DisSocket();
                }
            }
            catch (Exception ex)
            {
                if (client != null)
                {
                    string sendmessage = JsonConvert.SerializeObject(Iot_reply_frame.Get_reply_frame(Result_code.unknown_error, Result_code.unknown_error_des));
                    client.SendMessage(sendmessage);

                    //杀死该socket
                    Thread.Sleep(1000);
                    client.DisSocket();
                }
            }
        }