close Socket 时发送tcp RST 信令而非FIN,怎么清空SOCKET读缓冲区?

时间:2023-02-01 09:01:08
本人在做web服务器的文件上传功能。我先解析IE发过来的头,发现上传的文件内容太大,于是我就不接受此次上传。我就close此socket,但由于此socket,读缓冲区还有数据,导致close操作 发送给IE一个rst信令而非fin。IE网页采用POST上传的、这样就会出现空白页面。

要解决这个问题 办法 1 是 发现文件太大了 仍然socket 接收,但不写入磁盘。 但这样太慢了。
                    2 发现文件太大。shutdown 关闭socket 读缓冲区,清楚读缓冲区, 再关闭写缓冲期
                       但 怎么清空读缓冲区呢?????????????

                     3  大家有没有好的处理办法?

5 个解决方案

#1


up and sf!

#2


bander and up!

#3


都要放假了!要结贴了 貌似。。。

#4


上传插件就判断文件大小,过大的就提示失败不行么?

#5


引用 4 楼 qiyu1988 的回复:
上传插件就判断文件大小,过大的就提示失败不行么?

呵呵。。。路由器!

网页的兼容IE,CHOME,FIREOFX, 手机浏览器。 插件...

结贴!

#1


up and sf!

#2


bander and up!

#3


都要放假了!要结贴了 貌似。。。

#4


上传插件就判断文件大小,过大的就提示失败不行么?

#5


引用 4 楼 qiyu1988 的回复:
上传插件就判断文件大小,过大的就提示失败不行么?

呵呵。。。路由器!

网页的兼容IE,CHOME,FIREOFX, 手机浏览器。 插件...

结贴!