socket编程中,接收缓冲区的数据会不会被覆盖

发送端向接收端套接字的接收缓冲区中发送了大量数据,但是接收端的应用程序并不将接收缓冲区中的数据取出来处理,这样会产生什么后果?接收缓冲区中的数据会被不断覆盖吗?... 发送端向接收端套接字的接收缓冲区中发送了大量数据,但是接收端的应用程序并不将接收缓冲区中的数据取出来处理,这样会产生什么后果?接收缓冲区中的数据会被不断覆盖吗? 展开
 我来答
囧天孒囧
2014-03-06 · 超过10用户采纳过TA的回答
知道答主
回答量:17
采纳率:0%
帮助的人:21.5万
展开全部
这要看接收端是如何设计的,一般分两种情况:
1、把数据丢失,即你所说的被不断覆盖,通常用于放弃不想处理的数据,但保留链接(另外可以根据判断数据如不需要处理则断开socket)
2、缓冲区数据溢出,发生程序错误,会出现这种情况只能说程序没设计好了
追问
缓冲区怎么会溢出呢?如果数据不停发来只要覆盖缓冲区就是了,溢出是怎么发生的?不太懂
追答
这个和不同编程语言的内存管理机制有关,如像C语言这些需要指定内存空间的,接收端不把作为缓冲区的内存清空出来,就会发生溢出,因为内存已经装满了数据,没法再装进去,所以就满出来了。
匿名用户
2014-03-18
展开全部
对呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-07
展开全部
循环覆盖吧,我现在做的程序也是接受大文件,然后循环接收、写入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式