public void InvallidPortTest() { var localIp = GetLocalIPAddress(); var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >()); _ = Assert.ThrowsException <ArgumentException>(() => ethernetClient.ConnectTo(localIp, -1, System.Net.Sockets.ProtocolType.Tcp)); }
public async Task ReceiveDataTestAsync() { var localIp = GetLocalIPAddress(); var testMessage = "this is a test message"; var ethernetServer = new EthernetServer(Mock.Of <ILogger <EthernetServer> >(), Mock.Of <ILogger <EthernetConnection> >()); ethernetServer.Open(localIp, 300, System.Net.Sockets.ProtocolType.Tcp); var subscription = ethernetServer.SessionStream.Where(x => x.IsConnected).Delay(TimeSpan.FromSeconds(1)).Subscribe(x => x.Value?.Send(testMessage)); var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >()); ethernetClient.ConnectTo(localIp, 300, System.Net.Sockets.ProtocolType.Tcp); var first = await ethernetClient.ReceivedDataStream.Timeout(TimeSpan.FromSeconds(2)).FirstAsync(); Assert.AreEqual(testMessage, first.Message); }
public async Task ClientConnectTestAsync() { var localIp = GetLocalIPAddress(); var ethernetServer = new EthernetServer(Mock.Of <ILogger <EthernetServer> >(), Mock.Of <ILogger <EthernetConnection> >()); ethernetServer.Open(localIp, 100, System.Net.Sockets.ProtocolType.Tcp); var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >()); ethernetClient.ConnectTo(localIp, 100, System.Net.Sockets.ProtocolType.Tcp); await Task.Delay(100); Assert.IsTrue(ethernetClient.IsConnected); Assert.IsTrue(ethernetServer.ListClients.Count() == 1); }
/// <summary> /// 측기 수정 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataMng_onUpdateWDeviceEvt(object sender, UpdateWDeviceEventArgs e) { if (e.WD.EthernetUse) { EthernetClient tmpE = this.dataMng.getEthernetClient(e.WD.ID); if (tmpE.Client == null || tmpE.ID == string.Empty || !tmpE.Client.Connected) { this.WeatherListView.Items[e.WD.PKID.ToString()].StateImageIndex = 0; } else { this.WeatherListView.Items[e.WD.PKID.ToString()].StateImageIndex = 1; } } else { this.WeatherListView.Items[e.WD.PKID.ToString()].StateImageIndex = NotUseIcon; } this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[2].Text = this.dataMng.GetTypeDevice(e.WD.TypeDevice).Name; this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[3].Text = e.WD.ID; this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[4].Text = e.WD.Name; this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[5].Text = e.WD.CellNumber; if (this.WeatherListView.SelectedItems.Count == 1) { if (this.WeatherListView.SelectedItems[0].Name == e.WD.PKID.ToString()) { this.WeatherListView.Items[e.WD.PKID.ToString()].Selected = false; this.WeatherListView.Items[e.WD.PKID.ToString()].Focused = false; this.WeatherListView.Items[e.WD.PKID.ToString()].Selected = true; this.WeatherListView.Items[e.WD.PKID.ToString()].Focused = true; this.WeatherListView.Items[e.WD.PKID.ToString()].EnsureVisible(); } } this.SetWeatherData(string.Format("{0}의 {1} 측기가 수정되었습니다.", this.dataMng.GetTypeDevice(e.WD.TypeDevice).Name, e.WD.ID)); }
public void InvallidIpTest() { var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >()); _ = Assert.ThrowsException <ArgumentException>(() => ethernetClient.ConnectTo(string.Empty, 200, System.Net.Sockets.ProtocolType.Tcp)); }