private void calcSubnet() { if (cbUseSubnet.Checked == true) { if (IpHelpers.isValidIP(tbSubnetMask.Text)) { btnStart.Enabled = true; tbIPStart.Enabled = true; tbIPEndNetwork.Enabled = true; tbIPEnd.Enabled = true; ipSeg = new IPSegment(tbIPStart.Text, tbSubnetMask.Text); tbIPStart.Text = ipSeg.FirstIP.ToIpString(); tbIPEndNetwork.Text = IPFirstPart(ipSeg.LastIP.ToIpString()); tbIPEnd.Text = IPLastPart(ipSeg.LastIP.ToIpString()); tbIPEndNetwork.ReadOnly = false; } else { btnStart.Enabled = false; tbIPStart.Enabled = false; tbIPEndNetwork.Enabled = false; tbIPEnd.Enabled = false; } } }
/// <summary> /// Sends discovery packets to all servers on the local network /// </summary> public void DiscoverServers() { // Discover local peers :D myPeer.DiscoverLocalPeers(NetSettings.DEFAULT_SERVER_PORT); myPeer.DiscoverLocalPeers(NetSettings.DEFAULT_SERVER_PORT + 1); myPeer.DiscoverLocalPeers(NetSettings.DEFAULT_SERVER_PORT + 2); myPeer.DiscoverLocalPeers(NetSettings.DEFAULT_SERVER_PORT + 3); try { // Get the IP range to ping IPSegment segment = new IPSegment(NetUtils.GetGateway(myAddress).ToString(), NetUtils.GetSubnetMask(myAddress).ToString()); // Get an enumerable result IEnumerable <uint> hosts = segment.Hosts(); // Iterate and ping each one foreach (uint host in hosts) { myPeer.DiscoverKnownPeer(host.ToIpString(), NetSettings.DEFAULT_SERVER_PORT); } } catch (Exception e) { Logger.Write("Failed to ping local servers"); MessageBox.Show("Failed to discover local servers, please make sure you don't have any weird networking", "Whoops", MessageBoxButtons.OK); } }
private void tbIPStart_TextChanged(object sender, EventArgs e) { if (IpHelpers.isValidIP(tbIPStart.Text) == true) //Fill Network for LastIP { //Check if First end Last IP is in Subnet ipSeg = new IPSegment(tbIPStart.Text, tbSubnetMask.Text); if (cbUseSubnet.Checked == true) { if (CheckFirstIP() == true) { btnStart.Enabled = true; tbIPEndNetwork.Enabled = true; tbIPEnd.Enabled = true; } else { btnStart.Enabled = false; tbIPEndNetwork.Enabled = false; tbIPEnd.Enabled = false; } } else { if (cbUseSubnet.Enabled == true) { tbIPEndNetwork.Text = IPFirstPart(tbIPStart.Text); } btnStart.Enabled = true; } } else { tbIPEndNetwork.Enabled = false; tbIPEnd.Enabled = false; btnStart.Enabled = false; } }
private static void Clear() { Root.Clear(); _ips = new IPSegment(@"remoteproxy"); }