/// <inheritdoc/> public void Connect() { Task.Run(() => { while (true) { try { var socket = new Socket(SocketType.Stream, ProtocolType.Tcp); socket.Connect(IPAddress.Parse(_configuration.Ip), _configuration.Port); using (var stream = new NetworkStream(socket, FileAccess.Read, true)) { _parser.BeginParse(stream, channel => { DataReceived(channel.Id.ToString(), channel.Value, Timestamp.UtcNow); }); } } catch (Exception ex) { _logger.Error(ex, "Error while connecting to TCP stream"); } Thread.Sleep(10000); } }); }
/// <inheritdoc/> public void Start() { Task.Run(() => { while (true) { try { var socket = new Socket(SocketType.Stream, ProtocolType.Tcp); socket.Connect(IPAddress.Parse(_configuration.Ip), _configuration.Port); using (var stream = new NetworkStream(socket, FileAccess.Read, true)) { _parser.BeginParse(stream, channel => { var dataPoint = new TagDataPoint <ChannelValue> { ControlSystem = "Terasaki", Tag = channel.Id.ToString(), Value = channel.Value, Timestamp = Timestamp.UtcNow }; _subscribers.ForEach(subscriber => subscriber(channel)); }); } } catch (Exception ex) { _logger.Error(ex, "Error while connecting to TCP stream"); } Thread.Sleep(10000); } }); }