本帖最后由 cuikp139 于 2010-10-31 14:04:29 编辑

解决方案 »

  1.   

    执行到这就出问题了...
     private void AcceptMsg(object arg)
            {
                //  TcpClient client = myListener.AcceptTcpClient();//用这个走到 下面  int bytesread = ns.Read(bytes, 0, bytes.Length);程序就停了!
                TcpClient client = (TcpClient)arg; //问题就在这每次走到这就死掉了!
                NetworkStream ns = client.GetStream();
      

  2.   


    Accept不是等待连接嘛 
      

  3.   

    错误出在下面最后一句。既然AcceptMsg需要一个参数,你在调用Start的时候就应该把那个参数传进去啊。你没有传,是空值,强制类型转换肯定不成功。ParameterizedThreadStart threadStart = new ParameterizedThreadStart(AcceptMsg); 
    client_th = new Thread(threadStart);
    client_th.Start();
      

  4.   

    也就是改成:client_th.Start(client);
      

  5.   

    我将 client_th.Start(); 修改成了 client_th.Start(client);结果还是执行到这里                    byte[] bytes = new byte[1024];
                        int bytesread = ns.Read(bytes, 0, bytes.Length);读不出从客户端发来的数据 就死掉了.!!什么原因???