大家好,我现在在做使用Socket TCP做聊天工具,但是遇到一个问题,缓冲区在第一次读取时正常,第二次读取的时候会超时,不知道原因在哪里,麻烦做过此类项目的朋友帮忙解答,谢谢!
代码如下:byte[] buff = new byte[8192];
            string msg;
            int len;
            try
            {
                if (!nsStream.CanRead)
                {
                    return;
                }
                StopFlag = false;
                while (!StopFlag)
                {                    //从流中得到数据,并存入到buff字符数组中
                    len = nsStream.Read(buff, 0, buff.Length);    //第一次数据过来读取正常,后面再次读取就直接超时,不知道为什么会这样
                    if (len < 1)
                    {
                        Thread.Sleep(200);
                        continue;
                    }
                    //将字符数组转化为字符串  
                    msg = System.Text.Encoding.Default.GetString(buff, 0, len);
                    msg.Trim();
                }