首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

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

2013-09-05 
close Socket 时发送tcp RST 信令而非FIN,怎么清空SOCKET读缓冲区?本人在做web服务器的文件上传功能。我先

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

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

                     3  大家有没有好的处理办法?
[解决办法]
上传插件就判断文件大小,过大的就提示失败不行么?

热点排行