在重新启动程序的时候报这个错误, 
我已经都关闭了啊,为什么还有这个提示?????
好郁闷啊,谁知道怎么用C#关闭UDP端口,知道端口号是 7011
我对端口不理解也不了解

解决方案 »

  1.   

    程序没有完全退出,带socket程序的线程还残留在内存。
      

  2.   

    看看进程里面还有没有  肯定有个while循环  没有退出
      

  3.   

    先用 netstat -ano 找到对应端口的PID 再把那个它关闭了
      

  4.   

    两台主机想要通信,必须获取双方的IP地址,例如A和B通信。但仅此还不够,若A和C也要通信呢?就像QQ,你若同时和两个人通信怎么办?端口这个概念就产生了。假设你是A,和B通信,就可以用你的7777端口和对方的888端口。若还想和C通信,你再开一个6666和对方的777。端口可以随意指定,但一些固定的如80,已成为ie的专用端口,已被使用。
      

  5.   

    端口随意指定不是需要让人家指定你的端口,可以先用 netstat -ano 找到现在有的端口
    while(包含你指定的端口)
    {
    你指定的端口+1;
    } Process p = new Process();
                p.StartInfo = new ProcessStartInfo("netstat", "-ano ");
                p.StartInfo.CreateNoWindow = true;
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                p.StartInfo.RedirectStandardOutput = true;
                p.Start();
                string result = p.StandardOutput.ReadToEnd().ToLower();            while(result.IndexOf("udp    " + Environment.MachineName.ToLower() + ":" + "7012") >= 0)//端口被占用
                {
      

  6.   

     sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    Console.WriteLine("又一遍");
                    sock.Connect(_host, port);
    端口扫描,比较耗时