Exemplo n.º 1
0
        public bool Connect(IPEndPoint SendingEndPoint, IPEndPoint ReceivingEndPoint)
        {
            if (ReceivingClosed)
            {
                return(false);
            }

            if (udpSendingClient != null)
            {
                Disconnect();
            }

            try
            {
                this.SendingEndPoint   = SendingEndPoint;
                udpSendingClient       = new UdpClient();
                this.ReceivingEndPoint = ReceivingEndPoint;
                udpReceivingClient     = new UdpClient(ReceivingEndPoint);
            } catch (Exception) {
                return(false);
            }

            if (ReceivingActive)
            {
                ResumeReceiving.Set();
            }
            else
            {
                ReceivingActive = true;
                ReceivingThread.Start();
            }
            return(true);
        }
Exemplo n.º 2
0
 public void Close()
 {
     ReceivingActive = false;
     Disconnect();
     if (ReceivingThread.IsAlive)
     {
         try
         {
             ReceivingThread.Join();
         }
         catch (Exception)
         {
         }
     }
     ReceivingClosed = true;
 }
Exemplo n.º 3
0
        public void Disconnect()
        {
            if (udpSendingClient != null)
            {
                try
                {
                    UdpClient udpClient = udpSendingClient;
                    udpSendingClient = null;
                    udpClient.Close();
                }
                catch (Exception)
                {
                }
            }

            if (udpReceivingClient != null)
            {
                try
                {
                    UdpClient udpClient = udpReceivingClient;
                    udpReceivingClient = null;
                    udpClient.Close();
                }
                catch (Exception)
                {
                }
            }

            try
            {
                ReceivingThread.Interrupt();
            }
            catch (Exception)
            {
            }
        }