Python OSError:使用WebSocket时,raw readinto()返回的长度无效

Python OSError:使用WebSocket时,raw readinto()返回的长度无效,python,websocket,Python,Websocket,我尝试用WebSocket测试我的flask web应用程序 我的代码运行良好,但当我在浏览器中重新加载页面两次或更多次时。我有一个终端错误。这个错误并不能阻止我们继续工作 main.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Chat</title> <script type="text/

我尝试用WebSocket测试我的flask web应用程序 我的代码运行良好,但当我在浏览器中重新加载页面两次或更多次时。我有一个终端错误。这个错误并不能阻止我们继续工作

main.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Chat</title>
    <script type="text/javascript" src="{{ url_for('static', filename='jquery-2.2.0.js') }}"></script>
    <script type="text/javascript" src="{{ url_for('static', filename='socket.io.min.js') }}"></script>
</head>
<body>

<script type="text/javascript" charset="utf-8">

     $(document).ready(function() {

         var socket = io.connect('http://' + document.domain + ':' + location.port);

         socket.emit('connect', {data: 'U connected'});

         socket.on('apply', function (e) {
            console.log('it works');
                $('#log').append('<br>' + e.data + '<br>')

        });

     });

</script>

<h1 id="log"></h1>
</body>
</html>
回溯

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/eventlet/greenpool.py", line 82, in _spawn_n_impl
    func(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/eventlet/wsgi.py", line 703, in process_request
    proto.__init__(sock, address, self)
  File "/usr/local/lib/python3.5/socketserver.py", line 684, in __init__
    self.handle()
  File "/usr/local/lib/python3.5/http/server.py", line 417, in handle
    self.handle_one_request()
  File "/usr/local/lib/python3.5/site-packages/eventlet/wsgi.py", line 315, in handle_one_request
    self.raw_requestline = self.rfile.readline(self.server.url_length_limit)
OSError: raw readinto() returned invalid length -1 (should have been between 0 and 8192)

错误是什么意思?

盲拍,但这种行为很可能是由于webbrowser在发送任何内容之前终止websocket连接造成的。刷新浏览器可能会导致websocket关闭其tcp连接(否则可重用)。在烧瓶端,这会导致OSError,它需要一些字节,但在套接字关闭时等待数据时会消失


换句话说:你无能为力,实际上也没有害处。

我试图用各种方法解决错误,但对我来说都不管用。 所以过了一段时间,我重新安装了Ubuntu,我的服务器开始工作

可能是由于操作系统套接字或我没有正确安装某些东西造成的问题。这让我一直有误解


留下这些评论是为了帮助某人,但它仍然打开了,并且没有完全解决。

同样的错误:用IE11打开webapp,然后关闭IE(不仅仅是标签,而是整个程序),我可以复制上面的回溯。使用Firefox或chromium时,不会发生此错误!也许你能帮忙?
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/eventlet/greenpool.py", line 82, in _spawn_n_impl
    func(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/eventlet/wsgi.py", line 703, in process_request
    proto.__init__(sock, address, self)
  File "/usr/local/lib/python3.5/socketserver.py", line 684, in __init__
    self.handle()
  File "/usr/local/lib/python3.5/http/server.py", line 417, in handle
    self.handle_one_request()
  File "/usr/local/lib/python3.5/site-packages/eventlet/wsgi.py", line 315, in handle_one_request
    self.raw_requestline = self.rfile.readline(self.server.url_length_limit)
OSError: raw readinto() returned invalid length -1 (should have been between 0 and 8192)