Flask的socket.error:10053

僤鯓⒐⒋嵵緔 提交于 2020-03-03 14:03:04

一脸懵逼

学习python一段时间,最近使用flask搭建了一个服务器,然后使用phantom(相当于浏览器)发送请求发送了几条flask就挂掉了,报错信息如下:

由于个人python经验不是很足,看到这个错误一脸懵逼。根据以往的经验,首先偶想到的是截图保存这个错误,这样以后遇到了就不会再次懵逼了。

二脸懵逼:

有问题找度娘。百度不行找google,结果折腾了一个下午,也没找到解决办法,不过也好找到了一些有用的信息.

Windows Sockets Error Codes:https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx

翻译下:软件导致连接中断。一个已经建立的链接被你主机上的软件中断,可能是由于数据传输超时或者端口错误

看到这个消息,直接反应是这什么鬼。研究了半天也不懂,二脸懵逼啊。

三脸懵逼:

接着百度吧,路漫漫其修远兮,

找到一帖子,http://www.oschina.net/question/726618_2189576

看到这个答案仿佛瞬间就有一束阳光照耀到了我身上,摩拳擦掌,试试试。然后装个库都各种坑,不是装不上就是装上了不能用。百度百度才知道这些是适合unix系统的,无奈我用的是windos,三脸懵逼。

峰回路转:

接着来的剧情只能用峰回路转来形容了。各种方法试了不行后,接着谷歌加百度,然后就看到了这个,其实楼主之间已经看过n多遍这个帖子了。只是这次又仔细看了看。

http://stackoverflow.com/questions/36179535/flask-socket-error-10053

看到这个再联想到微软的报错,我恍然大明白。

soga:

一直以来我以为是flask的问题,以为是flask中断了socket。原来是phantom(浏览器)的问题,phantom使用一个page(相当于浏览器的一个标签页)不停的打开页面的话,时间长了,操作系统就会自动关闭这个链接。所以导致10053错误。

所以问题不是在flask上而是在phantom(浏览器)上。修改了phantom代码。一个page(标签页)请求完毕以后就直接关闭那个page,相当于一个连接完成数据传输的时候就及时关闭连接,下次再重新建立连接,这样一个连接就不会久到被操作系统强制关闭的地步。不断的调用fetchUrl,试了下果然没有报错。

如果能给flask加上异常处理就更好了,不过我还不会加,有会的大神求指点下。

总结:flask报socket.error错误,出现问题的原因不在flask上而在客户端上。希望各位朋友少走弯路

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!