IPAddress local = IPAddress.Parse(Dns.GetHostAddresses(Dns.GetHostName())[0].ToString());
        IPEndPoint iep = new IPEndPoint(local, 13000);
        server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        server.Bind(iep);
        server.Listen(20);
        Console.Write("等待客户机进行连接......");
        while (true) 
        {
            Socket client = server.Accept();
            zxclient news = new zxclient(client);
            Thread newthraed = new Thread(news.ClientServer);
            newthraed.Start();
        }下边报着个错误
通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Net.Sockets.SocketException: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。源错误: 
行 23:         IPEndPoint iep = new IPEndPoint(local, 13000);
行 24:         server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
行 25:         server.Bind(iep);
行 26:         server.Listen(20);
行 27:         Console.Write("等待客户机进行连接......");
 高手帮忙解决一下

解决方案 »

  1.   

    帮你顶一下:
    你的线程用法不对吧
    Thread newthraed = new Thread(new threadstrar(news.ClientServer));
    这样写试试
      

  2.   

    你把zxclient的代码贴出来看看,我看你的多线程可以实现,上面代码除了那个地方外没问题
      

  3.   

    public static int connection = 0;
        public Socket service;
        int i;
    public zxclient(Socket clientsocket)
    {
            this.service = clientsocket;
    }
        public void ClientServer() 
        {
            string data = null;
            byte[] bytes = new byte[1024];
            if (service != null) 
            {
                connection++;
            }
            Console.Write("当前连接用户" + connection + "");
            while ((i = service.Receive(bytes)) != 0) 
            {
                Console.Write("收到的数据:" + data + "");
                data = data.ToUpper();
                byte[] msg = Encoding.ASCII.GetBytes(data);
                service.Send(msg);
                Console.Write("发送的数据:" + data + "");
            }
            service.Close();
            connection--;
            Console.Write("客户关闭了连接" + connection + "");
        }