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)); } }
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)); }
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; }
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 }
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); } }
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); //} }
private void ServerOnClientDataReceived(object sender_, TcpServerDataReceivedEventArgs tcpServerDataReceivedEventArgs_) { throw new NotImplementedException(); }
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; } }