4

私はpython -m SimpleHTTPServer小さなプロジェクトに使用しています。ファイル index.html はいくつかのビデオを参照しています。 <video><source src="big_buck_bunny_480p_stereo.ogg"></video> このファイルのサイズは 159 MB です。ダウンロードしようとすると、SimpleHTTPServer がビデオの代わりにいくつかのエラー メッセージをスローします。

Marc-Laptop - - [23/Sep/2012 18:18:29] "GET /big_buck_bunny_480p_stereo.ogg HTTP
/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('192.168.4.38', 51152)
Traceback (most recent call last):
  File "C:Program Files (x86)PythonlibSocketServer.py", line 284, in _handle
_request_noblock
    self.process_request(request, client_address)
  File "C:Program Files (x86)PythonlibSocketServer.py", line 310, in process
_request
    self.finish_request(request, client_address)
  File "C:Program Files (x86)PythonlibSocketServer.py", line 323, in finish_
request
    self.RequestHandlerClass(request, client_address, self)
  File "C:Program Files (x86)PythonlibSocketServer.py", line 640, in __init_
_
    self.finish()
  File "C:Program Files (x86)PythonlibSocketServer.py", line 693, in finish
    self.wfile.flush()
  File "C:Program Files (x86)Pythonlibsocket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10054] Eine vorhandene Verbindung wurde vom Remotehost geschlossen

----------------------------------------
4

1 に答える 1

4

simpleHTTPServer はすべてをバッファリングしようとしており、実際にメモリ不足のために爆発します。非同期で行う方がよいのですが、simpleHTTPServer はその方法を知りません。そのスレッドを確認してください。誰かが simpleHTTPserver の修正版を提案しました: SimpleAsyncHTTPServer.py

于 2013-01-07T05:32:56.820 に答える