在处理来自IOS设备的请求期间发生异常

时间:2015-04-27 06:09:56

标签: python ios django sockets django-rest-framework

我正在尝试在iOS设备上播放视频。当我尝试播放时出现以下错误:

[27/Apr/2015 06:59:30] "GET /media/2015/04/VID_20150327_112644.mp4 HTTP/1.1" 200 18

 Exception happened during processing of request from ('192.168.1.230', 51412)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/home/likewise-open/ZEALOUSYS/manesh/virtualenv/tracks/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 129, in __init__
    super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/SocketServer.py", line 651, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 710, in finish
    self.wfile.close()
  File "/usr/lib/python2.7/socket.py", line 279, in close
    self.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------
Exception happened during processing of request from ('192.168.1.230', 51412)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/home/likewise-open/ZEALOUSYS/manesh/virtualenv/tracks/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 129, in __init__
    super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/SocketServer.py", line 651, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 710, in finish
    self.wfile.close()
  File "/usr/lib/python2.7/socket.py", line 279, in close
    self.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------

所有格式的视频文件在所有浏览器和Android设备中都能正常运行。当我尝试从iOS设备访问它时。它给了我上面的错误。你可以看到错误,首先它给我200响应,然后有破管。破碎的管道甚至意味着什么?仅供参考,我已经发布了一个问题,说明我无法在iOS设备上播放视频,我现在发布了一个新问题,因为我在终端中发现了这个错误。

如何解决此问题?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:3)

这是因为django正在处理您的媒体文件而不是apache。请尝试更改您在服务器中的配置。

例如,在apache2 edit example.com.conf文件中添加以下行,以便apache提供媒体文件。

**Alias /media /your project path/media**

有时这可能会解决这个问题。