如果我在Flask上编码,那么我有时会收到此错误:
Traceback (most recent call last):
File "C:\Python27\lib\SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python27\lib\SocketServer.py", line 640, in __init__
self.finish()
File "C:\Python27\lib\SocketServer.py", line 693, in finish
self.wfile.flush()
File "C:\Python27\lib\socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] ????????? ?? ????? ????-
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会发生这种情况(win8 x64,python27 x32)?
Mar*_*ers 24
从Windows套接字错误代码列表:
WSAECONNABORTED 10053
软件导致连接中止.
已建立的连接由主机中的软件中止,可能是由于数据传输超时或协议错误.
存在超时或其他网络级错误.这是关闭套接字的操作系统,与Python或Flask无关.
可能是远程浏览器停止响应,网络连接中断,或者防火墙因为打开时间太长或任何其他原因而关闭了连接.
小智 9
您好, 这是SocketServer模块的Python 2实现的问题,它不存在于Python 3中(服务器继续服务).
你有3个选择:
不要将内置服务器用于生产系统(毕竟它是一个开发服务器).使用适当的WSGI服务器,如gunicorn或uWSGI.
使用app.run启用线程模式(threaded = True); 线程死了,但是为将来的请求创建了一个新线程,
升级到Python 3.
所以每当出现错误时
error: [Errno 10053] An established connection was aborted by the software in your host machine
Run Code Online (Sandbox Code Playgroud)
如果你像app.run(threaded = True)那样重启了服务器.
我最近在尝试使用 Flask 提供音频文件时遇到了此错误消息。每当客户端在流结束之前关闭流时,我都会收到此错误消息。Flask 继续尝试向流中写入数据,但由于底层套接字已断开连接,因此不能。这实际上并不是错误本身,而是一条消息,通知您在 Flask 完成将数据写入流之前与客户端的连接已关闭。
归档时间: |
|
查看次数: |
58880 次 |
最近记录: |