问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

网络编程 接收缓存的处理问题

发布网友 发布时间:2022-05-07 15:45

我来回答

3个回答

热心网友 时间:2022-06-30 14:29

网络传输中,协议都是为一定的目的制定的,要遵守一定的规则
如果是客户机发了一段没用的数,那说明就是不符合你的规则,也就是不符合你制定协议的内容

如果真的要在这基础上改,可以为你的socket设置一个接收超时(setsockopt),比如1秒,
再接收这段你认为没有用的数据(根据实际你可以预先就分配一个空间,比如1K,然后循环接收,直到超时,也就是recv返回0)。
这个buff你不处理就是了追问这个方法是可以的,可是我想知道的是,手动清除系统分配的接收缓存的方法
比如接收终端输入,可以用fflush函数清空缓存中的内容,那么在套接字编程中,有没有手动清除系统分配的接收缓存的方法。

循环recv的方法我问题说了,不想用这个。。

追答没有,内核负责管理这块空间

热心网友 时间:2022-06-30 14:29

recv用的缓存不就是自定义的?不是系统分配的吧?
recv(SOCKET s, char *buf, int len, int flags);
你说的是这个定义里面的buf吗?这个自己在程序开始的时候初始化不就行了?
还是我没能理解你的问题?
补充:
我以前用的是刚连接上的时候,客户端给服务器端发送约定好的一串字符,服务器端接受到后发送另一串约定好的字符给客户端确认,这样之后,才正式开始通讯。比如:
Client -> Server: "Connection requested"
Server -> Client: "Connection authorized"追问这个方法是可以的,可是我想知道的是,手动清除系统分配的接收缓存的方法
比如接收终端输入,可以用fflush函数清空缓存中的内容,那么在套接字编程中,有没有手动清除系统分配的接收缓存的方法。

追答这个就不清楚了,恕我*为力。

热心网友 时间:2022-06-30 14:30

把socket设为non block,在条件满足时去循环recv。把读到的数据丢弃。直到读不到数据了。缓冲区就被清空了。然后就正常了。追问也是循环 recv......

我想知道的是,手动清除系统分配的接收缓存的方法
比如接收终端输入,可以用fflush函数清空缓存中的内容,那么在套接字编程中,有没有手动清除系统分配的接收缓存的方法。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 如果用手术去除蓝痣,大概要多长时间,多久才能好,会留下什么样的痕迹?手术的价格呢?如果用一般的方法 socket error:Error:read ECONNRESET.怎么回事 send函数发出的buf中有信息,但是到了recv函数,接收到的buf是空的,而recvbyte返回的是0,这是什么原因 激光去除蓝痣效果好吗 在什么情况下send会变成recv 蓝痣是什么样的?可以去掉吗? vc socket中,有什么办法让recv返回0 蓝痣能不能一次性根除? 奇组词二字 蓝痣去除方法??? “奇”字组词有哪些? 蓝痣去除方法? 拦截到的recv数据不对 奇的组词有哪些呢 蓝痣能激光祛除吗? recv 收到数据,但是返回0,请问是什么问题 “好奇”的“奇”字组词有哪些? 奇字的组词有哪些词语 股票上市的时候没人买怎么办 农行如果发行的股票没人买会怎样 黑屏出现mcss:hostcall recv err是什么意思 蓝痣激光能不能去除干净 recv返回值socket_error 在客户端中recv返回值是0,是不是代表着服务器sock连接断开 天天酷跑pvp胜场数怎么算 天天飞车闯关模式第28关通关技巧攻略 怎样在地窖中保存芹菜今年芹菜价格便宜,想储存起来,怎样大量储存 头条极速版。抖音极速版都是什么模式? 网贷没还上算是诈骗吗 首付款保函和预付款保函区别 360免费wifi图标经过隐藏后如何显示 360WIFI怎么显示不了部分手机的型号 细胞破壁的方法 蜂花粉的破壁方法有几种? 常用的蜂花粉破壁方法有几种? 破壁机的选择方法 内江万达文旅城项目是否已停工 济南万达文旅城有什么好玩的? 广州万达文化旅游城的项目介绍 广州广州万达文化旅游城具体信息?