2013-07-25 27 views
16

私はフラスコにコーディングしていた場合、私は時々、このエラーが発生します。エラー:[errnoが10053]

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] ��������� �� ����� ����- 

これが起こる理由を任意のアイデア(win8 x64の、python27 X32)?

+1

このエラーが発生した時点で*正確に*あなたは何をしていますか? – Johnsyweb

+1

仕事:) - Googleクロム+ pycharm、私はfirewolls、アンチウイルスなどはありません –

+0

私は私のために働いてくれました= app.run、app.run(スレッド= True)でスレッド= Trueを追加します。 –

答えて

18

Windows Sockets Error Codesリストから:

WSAECONNABORTED 10053
Software caused connection abort.
An established connection was aborted by the software in your host computer, possibly due to a data transmission time-out or protocol error.

タイムアウトまたはその他のネットワーク・レベルのエラーが発生しました。これはあなたのオペレーティングシステムがソケットを閉じている、本当にPythonやFlaskとは関係ありません。これは、リモートブラウザが応答を停止することができ

、ネットワーク接続が死亡し、またはそれはあまりにも長い間、または理由の他の任意の数の開いていたため、ファイアウォールが接続を閉じました。

+0

しかし、私はfirewolls、アンチウイルスなどをhaventしません。 –

+4

私は可能性の*いくつかの*リストされていた。 –

+0

私は知っているが、なぜこのエラーが出るのですか? : –

4

オーディオファイルを提供するためにフラスコを使用しようとしたときに、私は最近、このエラーメッセージに遭遇しました。クライアントがストリームの終わりより前にストリームを閉じるたびに、このエラーメッセージが表示されます。フラスコは引き続きストリームにデータを書き込もうとしますが、下にあるソケットは切断されているため、できません。これは実際にエラーではなく、Flaskがデータをストリームに書き込む前にクライアントへの接続が閉じられたことを通知するメッセージです。

2

Webサーバからの応答を読んだとき、私はこの問題に会いました。私の場合、問題は、ソケット接続をあまりに早く閉じて通信を破ったことでした。 したがって、データを受信する前に数秒待ってから、ソケット接続を閉じます。

time.sleep(10) 
data = s.recv(1024) 
s.close() 

私のために働きます。

0

これは、サーバが要求に応答し、クライアントがすでに接続を閉じた場合に発生PIPEエラー、です。ブラウザーは時々使い方によってそれを行います。 あなたはそれらを無視することができます、生産に適したWebサーバーは確かになります。

1

まったく同じ問題が発生しました。もっとも上回る回答とは対照的に、この問題はPythonやFlaskとは大きく異なり、Windowsの問題ではありません。 非常に再現するのは簡単:最初のものはまだロードされている間、別のページに移動し、その後、フラスコのアプリケーション内のリンクをクリックし

  • と。エラーは、私は、サーバーが完全にページを返すことができた場合、問題が起こることはありません
  • たびに、アプリケーションがクラッシュした(再起動する必要があります)が表示されます。

また、これは例えば、ボトルのマイクロフレームワークに起こったことはありません。

私は私はあなたが

+0

約束どおり、ここに解決策があります:http://stackoverflow.com/questions/40247025/flask-socket-error-errno-10053-an-established-connection-was-aborted-by-the –

8

こんにちはお知らせします問題を解決する方法を見つけた場合は、 このはSocketServerモジュールのPythonの2の実装の問題ですが、それは、Python 3(中に存在していませんサーバーがサービングを続ける場所)。

Your have 3 options:

Don't use the built-in server for production systems (it is a development server after all). Use a proper WSGI server like gunicorn or uWSGI.

Enable threaded mode with app.run(threaded=True); the thread dies but a new one is created for future requests,

Upgrade to Python 3.

エラーがあるたびに(= Trueのスレッド)app.runのように行っているのであれば

error: [Errno 10053] An established connection was aborted by the software in your host machine 

のようなサーバーが再起動されます。

+1

python 3.6を使用していますが、私はこのエラーです。なぜか何か手がかり? – EduardoMaia

関連する問題