我嘗試測試使用WebSockets 我的代碼運行以及我的燒瓶的Web應用程序,但是當我重裝兩次或更多次頁面瀏覽器。我在終端OSError。而這個錯誤並不能阻止燒瓶工作。OSERROR:原料readinto()返回長度無效時使用WebSockets
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>
app.py
from flask_socketio import SocketIO, emit
from flask import Flask, render_template
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socket_io = SocketIO(app)
@app.route('/')
def index():
return render_template('main.html')
@socket_io.on('connect')
def connect():
emit('apply', {'data': "Connect"})
if __name__ == '__main__':
socket_io.run(app, debug=True)
回溯
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)
是什麼錯誤呢?
有沒有這方面的更新?我面臨同樣的錯誤! – Benny
使用nameko發生同樣的錯誤。 – laike9m
同樣的錯誤:打開與IE11的Web應用程序,並關閉IE瀏覽器(不只是選項卡,但整個程序),我得到可重現的上述回溯。使用Firefox或鉻不會發生此錯誤! –