C#的TCPClient怎样获取接收到的数据长度
1个回答
展开全部
这是你的应用程序读取一个逻辑数据包的长度(注意跟tcp数据包长度没有直接关系)。
由于tcp是会自动分包、粘包的,因此你执行了一次 Receive 只后,得到的可能只是不分数据(即使是数据大小小于缓冲区大小也是一样),因此不能胡乱地用这个数据作为全部“就收数据”!你必须反复执行 Receive,知道你确定接收到数据结束标志为止,这时候才能说“接收数据......”这种判断。
由于tcp是会自动分包、粘包的,因此你执行了一次 Receive 只后,得到的可能只是不分数据(即使是数据大小小于缓冲区大小也是一样),因此不能胡乱地用这个数据作为全部“就收数据”!你必须反复执行 Receive,知道你确定接收到数据结束标志为止,这时候才能说“接收数据......”这种判断。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询