我想在C#winform中使用动态udp端口,在程序中怎么判断udp端口是否打开?或者说让程序先作判断某个端口已经被占用了,如果被占用就使用其它未被占用的端口?

解决方案 »

  1.   

    or利用.Net中Process类调用netstat命令来判断计算端口的使用情况: 
    Process p = new Process();
    p.StartInfo = new ProcessStartInfo("netstat", "-a");
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    p.StartInfo.RedirectStandardOutput = true;
    p.Start();
    string result = p.StandardOutput.ReadToEnd();
    if (result.IndexOf(Environment.MachineName.ToLower() + ":4000") >= 0)
    MessageBox.Show("4000端口被占用");
    else
    {
    MessageBox.Show("ok");
    }
      

  2.   

    Process   p=new   Process(); 
    p.StartInfo=new   ProcessStartInfo( "netstat ", "-a "); 
      

  3.   

    TcpClient   tcp   =   new   TcpClient();   
    tcp.Connect(hostName,port);