Exemple #1
0
        static void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            var msgItem = new MsgItem(e.Data, e.DataOffset, e.DataLength);

            Console.WriteLine(msgItem.GetHexString());

            //if (msgItem.CommandHex == "06AA")
            //{
            //    if (msgItem.BodyLengthHex == "06")
            //    {
            //        new GetPackageCountAction().Excute(msgItem.BodyBytes);
            //    }
            //    else
            //    {
            //        new DownloadHistoryDataAction().Excute(msgItem.BodyBytes);
            //    }
            //}
            //new GetCollectionInternalAction().Excute(msgItem.BodyBytes);
            // new ReadTemperatureAlarmNumAction().Excute(msgItem.BodyBytes);
            //new ReadHumidityMsgAction().Excute(msgItem.BodyBytes);
            new GetTemperatureAndHumidityAction().Excute(msgItem.BodyBytes);
            //new ReadSaveIntervalAction().Excute(msgItem.BodyBytes);
            //new GetDeviceDatetimeAction().Excute(msgItem.BodyBytes);

            //var data = new DataParser(msgItem.BodyBytes);
            // Console.WriteLine("设备上传温度{0},湿度{1}", data.Temperature, data.Humidity);
        }
 protected virtual void OnServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
 {
     if (DataReceived != null)
     {
         DataReceived(this, new ActorTransportDataReceivedEventArgs(this.ConnectToEndPoint.ToString(), e.Data, e.DataOffset, e.DataLength));
     }
 }
Exemple #3
0
        static void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            var text = Encoding.UTF8.GetString(e.Data, e.DataOffset, e.DataLength);

            Console.Write(string.Format("Server : {0} --> ", e.Client.RemoteEndPoint));
            Console.WriteLine(string.Format("{0}", text));
        }
Exemple #4
0
        private void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            byte[] ByteTemp = new byte[e.DataLength];
            Buffer.BlockCopy(e.Data, e.DataOffset, ByteTemp, 0, e.DataLength);

            //string dataStr = BitConverter.ToString(e.Data, e.DataOffset, e.DataLength).Replace("-", " ");//Encoding.ASCII.GetString(data1, 0, recv);

            isEnd = true;
        }
        private void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            //string dataStr = BitConverter.ToString(e.Data, e.DataOffset, e.DataLength).Replace("-", " ");

            string resultStr = Encoding.ASCII.GetString(e.Data, e.DataOffset, e.DataLength);

            _log.InfoFormat("{0}{1} TBJDataUpload:返回结果: {2}.", DateTime.Now, Environment.NewLine, resultStr);

            isEnd = true;
        }
Exemple #6
0
        void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            var msgItem = new MsgItem(e.Data, e.DataOffset, e.DataLength);

            #region 历史数据接收
            if (msgItem.CommandHex == "06AA")
            {     //历史数据处理
                if (msgItem.BodyLengthHex == "06")
                { //包数解析(测点设备上有多少个包多少条记录)
                    //new GetPackageCountAction().Excute(msgItem.BodyBytes);
                    //历史总条数
                    byte[] temp = new byte[2];
                    Array.Copy(msgItem.BodyBytes, 0, temp, 0, 2);
                    int hisTotal = DataHelper.ConvertToIntFromHex(DataHelper.byteToHexStr(temp.Reverse().ToArray()));
                    //历史总包数
                    Array.Copy(msgItem.BodyBytes, 2, temp, 0, 2);
                    int hisPackageTotal = DataHelper.ConvertToIntFromHex(DataHelper.byteToHexStr(temp.Reverse().ToArray()));

                    Console.WriteLine("历史总条数{0},历史总包数{1}", hisTotal, hisPackageTotal);

                    for (int i = 0; i < hisPackageTotal; i++)
                    {
                        string cmdText  = string.Format("25{0}06AA0066", msgItem.DeviceAddressHex);
                        var    cmdbytes = new GetDataCommand(cmdText).GetCommandBytes();
                        Client.Send(cmdbytes);
                    }
                }
                else
                {//包内容解析(具体包内容解析)
                    var hisRecords = ParsePackageContent(msgItem);
                }
            }
            #endregion


            #region 实时数据接收
            if (ServerDataReceived != null)
            {
                if (msgItem.CommandHex == "01FF")
                {
                    //数据接收
                    var data = new DataParser(msgItem.BodyBytes);

                    ServerDataReceived(msgItem.DeviceAddressHex, data.Temperature.ToString(), data.Humidity.ToString());

                    AppStartUp.AddRecordTask(new Infrastructure.DTO.RealtimeRecord
                    {
                        DeviceAddressHex = msgItem.DeviceAddressHex,
                        Humidity         = data.Humidity,
                        Temperature      = data.Temperature
                    });
                }
            }
            #endregion
        }
Exemple #7
0
        private static void _client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            var text = Encoding.UTF8.GetString(e.Data, e.DataOffset, e.DataLength);

            Console.Write(string.Format("Server : {0} 服务发来消息--> ", e.Client.RemoteEndPoint));
            if (e.DataLength < 1024 * 1024 * 1)
            {
                Console.WriteLine(text);
            }
            else
            {
                Console.WriteLine("{0} Bytes", e.DataLength);
            }
        }
Exemple #8
0
        private void ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            var text = Encoding.UTF8.GetString(e.Data, e.DataOffset, e.DataLength);

            Console.Write($"服务器 : {e.Client.RemoteEndPoint} --> ");
            if (e.DataLength < 256)
            {
                Console.WriteLine(text);
            }
            else
            {
                Console.WriteLine("{0} Bytes", e.DataLength);
            }
        }
        void HandlerDateMessage(TcpServerDataReceivedEventArgs e)
        {
            MessageType type = (MessageType)e.Data[e.DataOffset];
            var         text = Encoding.UTF8.GetString(e.Data, e.DataOffset + 1, e.DataLength - 1);

            // OnDateMessageEvent(text);
            switch (type)
            {
            case MessageType.msg:
                // OnMessageEvent("msg");
                OnDateMessageEvent(this, new MessageEventArgs(type, text));
                break;

            case MessageType.arrived:
                OnMessageEvent("arrived");
                OnDateMessageEvent(this, new MessageEventArgs(type, text));
                break;

            case MessageType.reStart:
                OnMessageEvent("reStart");
                OnDateMessageEvent(this, new MessageEventArgs(type, text));
                break;

            case MessageType.move:
                OnMessageEvent("move");
                OnDateMessageEvent(this, new MessageEventArgs(type, text));
                break;

            case MessageType.AgvFile:
                OnMessageEvent("AgvFile");
                OnDateMessageEvent(this, new MessageEventArgs(type, text));
                //  OnMessageEvent("AgvFile接收中...");
                //  string pathAgv = System.AppDomain.CurrentDomain.BaseDirectory.TrimEnd(new char[] { '\\' });
                //  Task.Factory.StartNew(() => ReciveFile(pathAgv, e), TaskCreationOptions.LongRunning);
                break;

            case MessageType.mapFile:
                OnMessageEvent("mapFile");
                OnDateMessageEvent(this, new MessageEventArgs(type, text));
                //  OnMessageEvent("mapFile接收中...");
                // string pathMap ="..\\..\\ElcMap.xml";// System.Configuration.ConfigurationManager.AppSettings["MAPPath"].ToString();//
                //  Task.Factory.StartNew(() => ReciveFile(pathMap, e), TaskCreationOptions.LongRunning);
                break;

            default:
                OnMessageEvent("错误的消息类型");
                break;
            }
        }
 void ReciveFile(string path, TcpServerDataReceivedEventArgs e)
 {
     try
     {
         using (FileStream fswrite = new FileStream(path, FileMode.Create, FileAccess.Write))
         {
             fswrite.Write(e.Data, e.DataOffset + 1, e.DataLength - 1);
         }
         //  OnMessageEvent("文件接收成功");
         // ReLoad();
     }
     catch
     {
         OnMessageEvent("文件接收失败");
     }
 }
        private void RobotTcpSocketClient_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            //获取机器人消息
            string Message = Encoding.UTF8.GetString(e.Data, e.DataOffset, e.DataLength);

            Application.Current.Dispatcher.Invoke(() =>
            {
                RecvMsgTextBox.Text = $"{DateTime.Now}:{Message}";
            });
            if (SceneManager.Scenes.ContainsKey(Message.TrimEnd('$')))
            {
                Application.Current.Dispatcher.Invoke(() =>
                {
                    string visionResult;
                    int glassesType     = -1;
                    RunStatus runStatus = ExecuteScene(SceneManager.Scenes[Message.TrimEnd('$')], out visionResult, out glassesType);

                    if (runStatus.Result == EResult.Accept)
                    {
                        //返回执行结果
                        e.Client.Send(Encoding.UTF8.GetBytes($"{glassesType},{visionResult}$"));
                        SendMsgTextBox.Text = $"{DateTime.Now}:{glassesType},{visionResult}$";
                    }
                    else
                    {
                        UpdateGlassesType(-1);
                        e.Client.Send(Encoding.UTF8.GetBytes("NG$"));
                        SendMsgTextBox.Text = $"{DateTime.Now}:NG$";
                    }
                });
            }
            else
            {
                //返回错误信息
                e.Client.Send(Encoding.UTF8.GetBytes("Invalid Command$"));

                Application.Current.Dispatcher.Invoke(() =>
                {
                    SendMsgTextBox.Text = $"{DateTime.Now}:Invalid Command$";
                });
            }
        }
        void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            //OnDateMessageEvent(sender, e);

            HandlerDateMessage(e);

            //HandlerDateMessage(e);
            //string str = string.Format("Server : {0} --> ", e.Client.RemoteEndPoint);
            //OnMessageEvent(str);
            //Console.Write(str);
            //if (e.DataLength < 1024 * 1024 * 1)
            //{
            //    Console.WriteLine(text);
            //    OnMessageEvent(text);
            //}
            //else
            //{
            //    Console.WriteLine("{0} Bytes", e.DataLength);
            //}
        }
Exemple #13
0
 static void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
 {
     var text = Encoding.UTF8.GetString(e.Data, e.DataOffset, e.DataLength);
     Console.Write(string.Format("Server : {0} --> ", e.Client.RemoteEndPoint));
     Console.WriteLine(string.Format("{0}", text));
 }
Exemple #14
0
 private void ServerOnClientDataReceived(object sender_, TcpServerDataReceivedEventArgs tcpServerDataReceivedEventArgs_)
 {
     throw new NotImplementedException();
 }
Exemple #15
0
        private void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            byte[] ByteTemp = new byte[e.DataLength];
            Buffer.BlockCopy(e.Data, e.DataOffset, ByteTemp, 0, e.DataLength);

            //string dataStr = BitConverter.ToString(e.Data, e.DataOffset, e.DataLength).Replace("-", " ");//Encoding.ASCII.GetString(data1, 0, recv);

            ResultCode resultCode = DustMonitoringTools.GetResultCode(ByteTemp);

            if (resultCode == ResultCode.Success)
            {
                CMDCodeEnum codeEnum = DustMonitoringTools.CheckMsgType(ByteTemp);
                if (codeEnum == CMDCodeEnum.RegisterResult)
                {
                    //登记成功
                    _log.InfoFormat(DateTime.Now + Environment.NewLine + "登记成功");
                    string data = "{\"DataType\":\"Min\",\"DeviceId\":\"" + baseDataModel.deviceAddress + "\",\"DB\":\"" + baseDataModel.noise + "\",\"RecDate\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\"}";

                    UploadNoiseData(data);
                }
                else if (codeEnum == CMDCodeEnum.NoiseUploadResult)
                {
                    //噪音数据上传
                    _log.InfoFormat(DateTime.Now + Environment.NewLine + "噪音数据上传成功");
                    string data = "{\"DataType\":\"Min\",\"DeviceId\":\"" + baseDataModel.deviceAddress + "\",\"Dust\":\"0\",\"PM10\":\"" + baseDataModel.PM10 + "\",\"PM2.5\":\"" + baseDataModel.PM25 + "\",\"AirPressure\":\"" + baseDataModel.sensorCount + "\",\"Temperature\":\"" + baseDataModel.temperature + "\",\"Humidity\":\"" + baseDataModel.humidity + "\",\"WindDirection\":\"" + baseDataModel.windDirection + "\",\"WindSpeed\":\"" + baseDataModel.windSpeed + "\",\"RecDate\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\"}";
                    DustUploadData(data);
                }
                else if (codeEnum == CMDCodeEnum.DustUploadResult)
                {
                    //扬尘数据上传成功
                    _log.InfoFormat(DateTime.Now + Environment.NewLine + "扬尘数据上传成功");
                    isEnd = true;
                }
            }
            else
            {
                switch (resultCode)
                {
                case ResultCode.NotFinddatafram:
                    _log.InfoFormat("{0}{1} 设备号:{2} 服务器没有找到数据帧", DateTime.Now, Environment.NewLine, baseDataModel.deviceAddress);
                    break;

                case ResultCode.NoLogin:
                    _log.InfoFormat("{0}{1} 设备号:{2} 未登录", DateTime.Now, Environment.NewLine, baseDataModel.deviceAddress);
                    break;

                case ResultCode.SystemError:
                    _log.InfoFormat("{0}{1} 设备号:{2} 服务器内部异常", DateTime.Now, Environment.NewLine, baseDataModel.deviceAddress);
                    break;

                case ResultCode.DataRormateError:
                    _log.InfoFormat("{0}{1} 设备号:{2} 数据格式错误", DateTime.Now, Environment.NewLine, baseDataModel.deviceAddress);
                    break;

                case ResultCode.None:
                    _log.InfoFormat("{0}{1} 设备号:{2} 未定义", DateTime.Now, Environment.NewLine, baseDataModel.deviceAddress);
                    break;
                }
                isEnd = true;
            }
        }