Exemple #1
0
 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ı!");
     }
 }
Exemple #2
0
 /// <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ı!");
     }
 }
Exemple #3
0
 public void Dispose()
 {
     if (ClientSocket != null)
     {
         ClientSocket.StopListeningAsync().Wait();
         ClientSocket.Dispose();
         ClientSocket = null;
     }
 }
Exemple #4
0
 public void Dispose()
 {
     try
     {
         ClientSocket.StopListeningAsync().Wait();
         ClientSocket.Dispose();
         ClientSocket = null;
     }
     catch (Exception)
     {
     }
     GC.SuppressFinalize(this);
 }
Exemple #5
0
 /// <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)
     {
     }
 }
Exemple #6
0
        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));
            }
        }