我在使用flank-socketio时遇到了一个问题。它会重复上面的错误,我不知道为什么。
也许是Heroku的问题,我的网站部署在那里?我有
'加载资源失败:服务器以状态400(BAD REQUEST)响应
“连接到”wss://my_progect. herokuapp.com/socket.io/?EIO = 4&transport = websocket & sid =...“的网络套接字连接失败:“
'POST https://my_progect.herokuapp.com/socket.io/?EIO=4&transport=polling&t=... 400(错误请求)'
'获取https://my_progect.herokuapp.com/socket.io/?EIO=4&transport=polling&t=... 400(错误请求)'
错误也
我的过程文件:
web: gunicorn app:app
我的html导入
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js" integrity="sha512-q/dWJ3kcmjBLU4Qc47E4A9kTB4m3wuTY7vkFJDTZKjTs8jhyGQnaUrxa0Ytd0ssMZhbNua9hE+E7Qv1j+DyZwA==" crossorigin="anonymous"></script>
<script src="{{ url_for ('static', filename = 'likes_groups.js') }}"></script>
我的js代码
document.addEventListener('DOMContentLoaded', () => {
var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port);
socket.on('connect', () => {
document.querySelectorAll('button').forEach(button => {
button.onclick = () => {
const id = button.dataset.id;
const choice = button.dataset.choice;
socket.emit('likes groups', [id, choice]);
};
});
});
和一些py文件
socketio = SocketIO(app, async_mode='eventlet')
@app.route('/voting_groups')
@login_required
def voting_groups():
return render_template('voting_groups.html')
@socketio.on('likes groups')
def likes_groups(data):
"some code"
if __name__ == '__main__':
socketio.run(app, debug=True)
在本地,所有的工作都没有错误,但当我在Heroku上部署项目时,它崩溃了。我看到同样的问题得到了解决,但没有一个解决方案对我不起作用(但也许我是个盲人)
谢啦,谢啦
我想将用户的选择发送到我的flask服务器
1条答案
按热度按时间hmmo2u0o1#
您的过程文件应该如下所示: