close Socket 时发送tcp RST 信令而非FIN,怎么清空SOCKET读缓冲区?
本人在做web服务器的文件上传功能。我先解析IE发过来的头,发现上传的文件内容太大,于是我就不接受此次上传。我就close此socket,但由于此socket,读缓冲区还有数据,导致close操作 发送给IE一个rst信令而非fin。IE网页采用POST上传的、这样就会出现空白页面。
要解决这个问题 办法 1 是 发现文件太大了 仍然socket 接收,但不写入磁盘。 但这样太慢了。
2 发现文件太大。shutdown 关闭socket 读缓冲区,清楚读缓冲区, 再关闭写缓冲期
但 怎么清空读缓冲区呢?????????????
3 大家有没有好的处理办法?
------解决方案--------------------上传插件就判断文件大小,过大的就提示失败不行么?