机器上有一块网卡,网络中有两个网段,比如A网段为10.1.1.x   B网段为192.168.0.x
现在机器网卡ip为192.168.0.1,现在要求程序执行过程中,如果执行到某个状态if(T==true),那么就把此网卡再绑定一个IP(10.1.1.1),这样可以让两个网段的用户都能访问其。
当执行到某个条件(T==false)时,要卸掉A网段的ip,只能让B网段的用户访问。
请求一个例子!
谢谢!另外:如果通过程序绑定两个ip后,是不是立刻两个网段的用户都能通过tcp connect上它?

解决方案 »

  1.   

    google "netsh interface ip set address" and "Process"
      

  2.   

    用netsh的话,大约需要6秒左右,我在网上查,好像有一种机制可以做到2秒完成。另外请问一下:如何判断网卡是否连通?谢谢!
      

  3.   

    mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
    if ((bool)mo["IPEnabled"] == true)
                    {string[] ips = new string[1] { LocalIP };
                                string[] masks = new string[1] { "255.255.255.0" };
                                Object[] objs = new object[2] { ips, masks };
                                mo.InvokeMethod("EnableStatic", objs);
    }}