private async Task Start_ClientListenAsync() { try { bool internetVarmi = true; if (!internetVarmi) { HelperMy.Notification(Color.Red, "İnternet bağlantısı yok!"); } do { internetVarmi = true; if (internetVarmi) { ClientSocket = new MyUdpSocketReceiver(); ClientSocket.MessageReceived += new EventHandler <UdpReceiveResult>(ClientSocket_MessageReceived); await ClientSocket.StartListeningAsync(); } else { await Task.Delay(500); } } while (!internetVarmi); } catch (Exception) { HelperMy.Notification(Color.Red, "Soket Bağlantısı Kurulamadı!"); } }
/// <summary> /// Discover Broadlink Device /// </summary> /// <returns>Triggered Event <see cref="DeviceHandler" /></returns> public async Task DiscoverAsync() { try { if (ClientSocket == null) { bool internetVarmi = HelperMy.IsInternetAvailable; if (!internetVarmi) { HelperMy.Notification(Color.Red, "İnternet bağlantısı yok!"); } do { internetVarmi = HelperMy.IsInternetAvailable; if (internetVarmi) { ClientSocket = new MyUdpSocketReceiver(); ClientSocket.MessageReceived += new EventHandler <UdpReceiveResult>(ClientSocket_MessageReceived); await ClientSocket.StartListeningAsync(); } else { await Task.Delay(500); } } while (!internetVarmi); } await SendDiscoveryPacketAsync(); } catch (Exception) { HelperMy.Notification(Color.Red, "Soket Bağlantısı Kurulamadı!"); } }
public void Dispose() { if (ClientSocket != null) { ClientSocket.StopListeningAsync().Wait(); ClientSocket.Dispose(); ClientSocket = null; } }
public void Dispose() { try { ClientSocket.StopListeningAsync().Wait(); ClientSocket.Dispose(); ClientSocket = null; } catch (Exception) { } GC.SuppressFinalize(this); }
/// <summary> /// Discover Broadlink Device /// </summary> /// <returns>Triggered Event <see cref="DeviceHandler" /></returns> public async Task DiscoverAsync() { try { if (ClientSocket == null) { ClientSocket = new MyUdpSocketReceiver(); ClientSocket.MessageReceived += new EventHandler <UdpReceiveResult>(ClientSocket_MessageReceived); await ClientSocket.StartListeningAsync(); } await SendDiscoveryPacketAsync(); } catch (Exception) { } }
private async Task SendDiscoveryPacketAsync() { var ports = Network.GetAvailablePort(1000, Networks.Count); if (ports.Count == 0 || ports.Count < Networks.Count) { HelperMy.Notification(Color.Red, "Kullanılabilir port bulunamadığı için işlem iptal edildi."); await ClientSocket.StopListeningAsync(); ClientSocket.Dispose(); ClientSocket = null; return; } for (int i = 0; i < Networks.Count; i++) { var item = Networks[i]; var data = PacketGenerator.GenerateDiscoveryPacket(item.LocalIPAddress, (short)ports[i]); await ClientSocket.SendToAsync(data, new IPEndPoint(item.BroadcastIPAddress, 80)); } }