amin_sltny
شنبه 03 اسفند 1392, 09:16 صبح
سلام بچه ها من برنامه کافی نتی دارم می سازم برای اینکه بتونم اینترنت کلاینت را تقطع یا وصل کنم از کدوم کدهای زیر استفاده کنم بهتره؟
کد اول:
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "ipconfig";
info.Arguments = "/renew"; // or /release if you want to disconnect
info.WindowStyle = ProcessWindowStyle.Hidden;
Process p = Process.Start(info);
p.WaitForExit();
مآیا این کد تاثیری در برنامه ام و ارتباطش با سرور داره؟ ایا ارتباط سوکت با سرور قطع میشه؟
کد دوم
public static void EnableInterNetAccess(string IPGetway)
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
// Make sure this is a IP enabled device. Not something like memory card or VM Ware
if ((bool)mo["IPEnabled"])
{
ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newGate["DefaultIPGateway"] = new string[] { IPGetway };
newGate["GatewayCostMetric"] = new int[] { 1 };
//newIP["IPAddress"] = IpAddresses.Split(',');
//newIP["SubnetMask"] = new string[] { SubnetMask };
//newDNS["DNSServerSearchOrder"] = "127.0.0.1".Split(',');
//ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
//ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
break;
}
}
}
public static void DisableInterNetAccess()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
// Make sure this is a IP enabled device. Not something like memory card or VM Ware
if ((bool)mo["IPEnabled"])
{
ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newGate["DefaultIPGateway"] = new string[] { "127.0.0.1" };
newGate["GatewayCostMetric"] = new int[] { 1 };
//newIP["IPAddress"] = IpAddresses.Split(',');
//newIP["SubnetMask"] = new string[] { SubnetMask };
//newDNS["DNSServerSearchOrder"] = "127.0.0.1".Split(',');
//ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
//ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
break;
}
}
}
سوال بالا را هم در مورد این کد دارم؟
کد دوم گت وی من را تغییر میده
کد اول:
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "ipconfig";
info.Arguments = "/renew"; // or /release if you want to disconnect
info.WindowStyle = ProcessWindowStyle.Hidden;
Process p = Process.Start(info);
p.WaitForExit();
مآیا این کد تاثیری در برنامه ام و ارتباطش با سرور داره؟ ایا ارتباط سوکت با سرور قطع میشه؟
کد دوم
public static void EnableInterNetAccess(string IPGetway)
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
// Make sure this is a IP enabled device. Not something like memory card or VM Ware
if ((bool)mo["IPEnabled"])
{
ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newGate["DefaultIPGateway"] = new string[] { IPGetway };
newGate["GatewayCostMetric"] = new int[] { 1 };
//newIP["IPAddress"] = IpAddresses.Split(',');
//newIP["SubnetMask"] = new string[] { SubnetMask };
//newDNS["DNSServerSearchOrder"] = "127.0.0.1".Split(',');
//ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
//ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
break;
}
}
}
public static void DisableInterNetAccess()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
// Make sure this is a IP enabled device. Not something like memory card or VM Ware
if ((bool)mo["IPEnabled"])
{
ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newGate["DefaultIPGateway"] = new string[] { "127.0.0.1" };
newGate["GatewayCostMetric"] = new int[] { 1 };
//newIP["IPAddress"] = IpAddresses.Split(',');
//newIP["SubnetMask"] = new string[] { SubnetMask };
//newDNS["DNSServerSearchOrder"] = "127.0.0.1".Split(',');
//ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
//ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
break;
}
}
}
سوال بالا را هم در مورد این کد دارم؟
کد دوم گت وی من را تغییر میده