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()); } } }
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)); }
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); } }