代码如下,发生了丢包。 是否需要做一个暂停监听?该怎么做呢?急等~
       private void TcpServerHandler()
        {   //tcpserver, receive msg from sztc, update status to 2 or delete msg
             try
            {
                listener = new TcpListener(IPAddress.Parse(strLocalIP), iLocalPort);
                listener.Start();
                Log("tcplistener start listening");
                while (bRun1)
                {
                    Thread.Sleep(1);
                    client = listener.AcceptTcpClient();
                    Log("client "+client.Client.LocalEndPoint + "connected");
                    netStream = client.GetStream();
                    while (true)
                    {
                        Thread.Sleep(1);
                        byte[] buffer = new byte[BufferSize];
                        int byteRead = 0;
                        int i=0;
                        try
                        {
                            lock (netStream)
                            {
                                byteRead = netStream.Read(buffer, 0, buffer.Length);
                            }
                            string recMsg = "";
                            if (byteRead > 0)
                            {
                                recMsg = Encoding.GetEncoding("GBK").GetString(buffer, 0, byteRead);
                                //recMsg = Encoding.UTF8.GetString(buffer, 0, byteRead);
                                //压入队列
                                myQueue.Enqueue(recMsg);
                                Log("TcpServerHandler : receive data : " + recMsg);
                            }
                            else
                            {
                                Log("TcpServerHandler : client disconnect ");
                                break;
                            }                           
                        }
                        catch (Exception ex)
                        {
                            string s = ex.Message;
                            Log(ex.Message);
                            MessageBox.Show(ex.Message);
                            break;
                        }
                    }                    netStream.Dispose();
                    client.Close();                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message, "tcpserver listen process exception");
                Log(ex.Message);
            }
            
        }