flask_socketio и React Client - отправка не работает - PullRequest
0 голосов
/ 22 апреля 2020

H ie,

У меня есть сервер flask с клиентом React, и я использую flask_socketio для создания на моем клиенте React сокета и socket.io-клиента для подключения к нему

Я могу нормально отправлять и получать сообщения, используя следующий код на моем сервере:

message = {"hello": "world"} 

with app.test_request_context('/'): 
    send (message, broadcast=True, namespace="/") 

И этот код включен в моем клиенте:

import io from "socket.io-client" 

let endPoint = "http://localhost:5000"; 
let socket = io.connect (`${endPoint}`); 

Для подключения к сокету и к этому коду действуют сообщения:

useEffect(() => {  

    socket.on ("message", msg => {
        console.log (msg); 
    }) 
}, []); 

Однако! Когда я переместил код, отправив сообщения в другой файл, а затем назвал его так: (приложение - это глобальная переменная, представляющая мое flask приложение)

from app import app 

with app.test_request_context('/'): 
    send ({"hello": "world"}, broadcast=True, namespace="/") 

Сообщение больше не принимается на стороне клиента как и раньше

Есть мысли?

1 Ответ

0 голосов
/ 22 апреля 2020

Решением было импортировать «приложение» из main , а не из приложения:

from __main__ import app

, как объяснено здесь: Flask события сообщения socket.io в различных файлы

...