Skip to content

I need help with websocket implemetation  #1575

Description

@GustavoSwDaniel

I'm trying to implement a websocket but it was always being long polled.
I installed the eventlet but I have an error

Thank you in advance
__ init __.py

from flask import Flask
from flask_socketio import SocketIO
from flask_cors import CORS

socketio = SocketIO(logger=True, engineio_logger=True)

def create_app():
    app = Flask(__name__)
    app.debug = True
    app.config['SECRET_KEY'] = 'gjr39dkjn344_!67#'

    CORS(app)

    from app.user import bp as user_bp
    app.register_blueprint(user_bp)

    socketio.init_app(app, cors_allowed_origins="*", async_mode='eventlet')

    return app

app.py

from app import create_app, socketio

app = create_app()

if __name__== '__main__':
    socketio.run(app)

js client

 <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
    <script>
        window.onload = function(){
            const socket = io();
            
            function AddToChat(msg) {
                const span = document.createElement("span");
                const chat = document.querySelector(".chat");
                span.innerHTML = `<strong>${msg.name}:</strong> ${msg.message}`;
                chat.append(span);
            }

            socket.on('connect', () => {
                socket.emit('Usuário conectado ao socket!')
            });

            document.querySelector("form").addEventListener("submit", function(event){
                event.preventDefault();

                socket.emit('sendMessage', {name: event.target[0].value, message: event.target[1].value})
                event.target[0].value = "";
                event.target[1].value = "";
            })

            socket.on('getMessage', (msg) => {
                AddToChat(msg)
        
            })
            
            socket.on('message', (msgs) => {
                for(msg of msgs){
                    console.log(msg)
                    AddToChat(msg)
                }
            })
        }

error:
Captura de tela de 2021-06-21 19-28-02

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions