private void Client_CurrentReceived(MTConnectStreams.Document document) { if (document == null || document.DeviceStreams == null || document.DeviceStreams.Count < 1) { return; } foreach (MTConnectStreams.DeviceStream ds in document.DeviceStreams) { // 通过对 Name 的调整(去掉 di,ev,sp, cd)进行验证后,发现 DataItems 中包含了 Event 、 Samples、Conditions // ComponentStreams 比较杂,好像什么都包含,就不在这里验证了。 // 因此在这里只保留了对 DataItems 的读取。 string namePrefix = ds.Uuid + ":" + ds.Name + ":"; if (ds.DataItems != null && ds.DataItems.Count > 0) { foreach (MTConnect.MTConnectStreams.DataItem di in ds.DataItems) { try { SimpleHttpHelper.GetInstance() //.RequestURL("http://127.0.0.1:15031/monitor/data_pack/put", //.RequestURL("http://192.168.123.248:15031/monitor/data_pack/put", .RequestURL(MonitorAddress, "p=" + ds.Name + "&n=" + di.Name + "&v=" + di.CDATA); } catch (Exception ex) { logger.Warn(ex.Message, ex); } } } } }
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { // - 缓冲了信息的发送,可能会丢失部分变化频率比较高的数据, 但是保持住的数据不会丢失。 // - 还有一个问题后续考虑,丢弃了原始的时间戳。 while (hasChenge) { hasChenge = false; if (dataCache.Count < 1) { break; } foreach (var item in dataCache) { if (item.Value.Timestamp == item.Value.sendedTimestamp) { continue; } try { SimpleHttpHelper.GetInstance() //.RequestURL("http://127.0.0.1:15031/monitor/data_pack/put", .RequestURL("http://192.168.123.248:15031/monitor/data_pack/put", "p=845244&n=" + item.Value.Name + "&v=" + item.Value.Value); item.Value.sendedTimestamp = item.Value.Timestamp; } catch (Exception ex) { logger.Warn(ex.Message, ex); } } } } catch (Exception ex) { logger.Error(ex.Message, ex); } finally { timer.Start(); } }