Beispiel #1
0
        private void _read_clients()
        {
            if (!System.IO.File.Exists(_client_file_name))
            {
                return;
            }
            StreamReader streamReader = new StreamReader(_client_file_name);

            for (string str = streamReader.ReadLine(); str != null; str = streamReader.ReadLine())
            {
                if (!_client_ips.Contains((object)str))
                {
                    _client_ips.Add((object)str);
                }
            }
            streamReader.Close();
            _connected_clients.Clear();
            for (int index = 0; index < _client_ips.Count; ++index)
            {
                UDP_Sender udpSender = new UDP_Sender(_client_ips[index].ToString());
                if (udpSender.IsConnected)
                {
                    _connected_clients.Add((object)udpSender);
                    ClientConnected(this, _client_ips[index].ToString());
                }
            }
        }
Beispiel #2
0
 private void _receiver_DataReceived(UDP_Receiver sender, string Data)
 {
     if (Data.StartsWith("!") && !_client_ips.Contains((object)Data.Substring(1)))
     {
         _client_ips.Add((object)Data.Substring(1));
         UDP_Sender udpSender = new UDP_Sender(Data.Substring(1));
         if (udpSender.IsConnected)
         {
             _connected_clients.Add((object)udpSender);
         }
         ClientConnected(this, Data.Substring(1));
     }
     if (!Data.StartsWith("#"))
     {
         return;
     }
     _client_ips.Remove((object)Data.Substring(1));
     _connected_clients.Clear();
     for (int index = 0; index < _client_ips.Count; ++index)
     {
         UDP_Sender udpSender = new UDP_Sender(_client_ips[index].ToString());
         if (udpSender.IsConnected)
         {
             _connected_clients.Add((object)udpSender);
         }
     }
     ClientDisconnected(this, Data.Substring(1));
 }
Beispiel #3
0
        private void _search_clients()
        {
            int         searchPointerMax = _search_pointer_max;
            IPHostEntry hostEntry        = Dns.GetHostEntry(Dns.GetHostName());

            while (true)
            {
                string IP = _search_base + "." + searchPointerMax.ToString();
                --searchPointerMax;
                if (searchPointerMax < _search_pointer_min)
                {
                    searchPointerMax = _search_pointer_max;
                }
                if (!_client_ips.Contains((object)IP))
                {
                    UDP_Sender udpSender = new UDP_Sender(IP, 8000);
                    if (udpSender.IsConnected)
                    {
                        udpSender.SendMSG("?" + (object)hostEntry.AddressList[0]);
                    }
                }
                Thread.Sleep(10);
            }
        }