Я не получаю ответ в сокете от сервера фляги - PullRequest
0 голосов
/ 06 марта 2019

Я работаю над модулем socket.io в колбе и не получаю ответ в сокете после нажатия кнопки да, нет или, может быть,
Вот мой код

html code

> <!DOCTYPE html>
>     <html>
>         <head>
>             <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>
>             <script type="text/javascript" src="{{ url_for('static', filename='index.js') }}"></script>
>             <title>Vote</title>
>         </head>
>         <body>
>             <ul id="votes">
>             </ul>
>             <hr>
>             <button data-vote="yes">Yes</button>
>             <button data-vote="no">No</button>
>             <button data-vote="maybe">Maybe</button>
>         </body>
>     </html>

Это мой код js

 document.addEventListener('DOMContentLoaded', () => {

        // Connect to websocket
        var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port);

        // When connected, configure buttons
        socket.on('connect', () => {

            // Each button should emit a "submit vote" event
            document.querySelectorAll('button').forEach(button => {
                button.onclick = () => {
                    const selection = button.dataset.vote;
                    socket.emit('submit vote', {'selection': selection});
                };
            });
        });

        // When a new vote is announced, add to the unordered list
        socket.on('announce vote', data => {
            const li = document.createElement('li');
            li.innerHTML = `Vote recorded: ${data.selection}`;
            document.querySelector('#votes').append(li);
        });
    });

Это мой код Python

import os
import requests

from flask import Flask, jsonify, render_template, request
from flask_socketio import SocketIO, emit

app = Flask(__name__)
app.config["SECRET_KEY"] = os.getenv("SECRET_KEY")
socketio = SocketIO(app)

@app.route("/")
def index():
    return render_template("index.html")

@socketio.on("submit vote")
def vote(data):
    selection = data["selection"]
    emit("announce vote", {"selection": selection}, broadcast=True)

127.0.0.1 - - [06 / Mar / 2019 23:48:55] «GET / HTTP / 1.1» 200 - 127.0.0.1 - - [06 / Mar / 2019 23:48:55] «GET /static/index.js HTTP / 1.1» 200- 127.0.0.1 - - [06 / Mar / 2019 23:48:56] "GET /socket.io/?EIO=3&transport=polling&t=1551896336110-0 HTTP / 1.1" 200 - 127.0.0.1 - - [06 / Mar/ 2019 23:49:56] "GET /socket.io/?EIO=3&transport=polling&t=1551896336245-1&sid=7d3a45fe719e4e92a2b60728ff734cdf HTTP / 1.1" 400 - 127.0.0.1 - - [06 / Mar / 2019 23:49:56]"GET /favicon.ico HTTP / 1.1" 404 - 127.0.0.1 - - [06 / Mar / 2019 23:49:56] "POST /socket.io/?EIO=3&transport=polling&t=1551896337783-2&sid=7d3a45fe719e4e92a2b60728ff734cdf HTTP /1.1 "400 - 127.0.0.1 - - [06 / Mar / 2019 23:49:56]" POST /socket.io/?EIO=3&transport=polling&t=1551896396273-3 & sid = 7d3a45fe719e4e92a2b60728ff734cdf HTTP / 1.1 "400 - 127.0.0.1 - - [06 / Mar / 2019 23:49:57]" GET /socket.io/?EIO=3&transport=polling&t=1551896397551-4 HTTP / 1.1 "200- 127.0.0.1 - - [06 / Mar / 2019 23:50:56] "GET /socket.io/?EIO=3&transport=polling&t=1551896397576-5&sid=42e86974ded740ed8ee99266e917048e HTTP / 1.1" 200 - 127.0.0.1 - - 06/ Mar / 2019 23:50:56] "POST /socket.io/?EIO=3&transport=polling&t=1551896423047-6&sid=42e86974ded740ed8ee99266e917048e HTTP / 1.1" 400 - 127.0.0.1 - - [06 / Mar / 2019 23:50:56] "GET /socket.io/?EIO=3&transport=polling&t=1551896456270-7&sid=42e86974ded740ed8ee99266e917048e HTTP / 1.1" 400 - 127.0.0.1 - - [06 / Mar / 2019 23:50:57] "POST /socket.io/? EIO = 3 & transport = polling & t = 1551896457043-8 & sid = 42e86974ded740ed8ee99266e917048e HTTP / 1.1 "400 - 127.0.0.1 - - [06 / Mar / 2019 23:50:59]" GET /socket.io/?EIO=3&transport=polling&t=1551896459040-9 HTTP / 1.1 "200 - 127.0.0.1 - - [06 / Mar / 2019 23:51:56]" GET /socket.io/?EIO=3&transport=polling&t=1551896459067-10&sid=b782019c299b4bc5a913934763b09059 HTTP / 1.1 "200 - 127.0.0.1 - - [06 / Mar / 2019 23:51:56]" POST /socket.io/?EIO=3&transport=polling&t=1551896485040-11&sid=b782019c299b4bc5a913934763b09059 127 - 1.1 "400.0.1 - - [06 / Mar / 2019 23:51:56] "GET /socket.io/?EIO=3&transport=polling&t=1551896516257-12&sid=b782019c299b4bc5a913934763b09059 HTTP / 1.1" 400 - 127.0.0.1 - - [06 / Mar/ 2019 23:51:57] "POST /socket.io/?EIO=3&transport=polling&t=1551896517043-13&sid=b782019c299b4bc5a913934763b09059 HTTP / 1.1" 400 - 127.0.0.1 - - [06 / Mar / 2019 23:51:58]"GET /socket.io/?EIO=3&transport=polling&t=1551896518044-14 HTTP / 1.1" 200 - 127.0.0.1 - - [06 / Mar / 2019 23:52:56] "GET /socket.io/?EIO=3 & transport = polling & t = 1551896518072-15 & sid = 62c3c894db304b538f830b5036e42b6c HTTP / 1.1 "200 - 127.0.0.1 - - [06 / Mar / 2019 23:52:56]" POST /socket.io/?EIO=3&transport=polling&t=4051862c3c894db304b538f830b5036e42b6c HTTP / 1,1 "400 -

1 Ответ

0 голосов
/ 06 марта 2019

Не уверен, но не могли бы вы попробовать

socketio.emit("announce vote", {"selection": selection})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...