为什么调用 Recevice 的时候 我的函数  ReceiveCallback 在执行的时候  只能执行      if (bytesRead > 0)  里面的 执行不了else 里面的
回调函数 里面的  再次 执行 client.BeginReceive函数 也进不去,就是继续读取似乎不行,加了断点也没有用private void Receive(Socket client)  
        {   
            // 构造容器state.  
            StateObject state = new StateObject();  
            state.workSocket = client;   
            // 从远程目标接收数据.  
           
       client.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallback), state);
               // sendDone.WaitOne();
                Thread.Sleep(200);       
        }   
        private void ReceiveCallback(IAsyncResult ar)  
        {   
            // 从输入参数异步state对象中获取state和socket对象  
            StateObject state = (StateObject)ar.AsyncState; 
            Socket client = state.workSocket;
          //从远程设备读取数据  
          //  int bytesRead = 0;
           int bytesRead = client.EndReceive(ar);   
            if (bytesRead > 0)  
            {
               state.sb.Append(Encoding.GetEncoding("GB2312").GetString(state.buffer, 0, bytesRead));
                response = state.sb.ToString();
             // 继续读取.  
                try
                {
               client.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallback), state);
                }
                catch (Exception e)
                {
                  
                }
             }  
            else //为什么执行不了这里面的语句语句
             {
                receiveDone.Set();                  // 所有数据读取完毕.  
                if (state.sb.Length > 1)  
                {  
                    response = state.sb.ToString(); 
                } 
                // 所有数据读取完毕的指示信号. 
            } 
          }