gpt4 book ai didi

javascript - Python Flask-socketio 工作,不从 JS 客户端接收数据

转载 作者:行者123 更新时间:2023-11-30 06:24:02 28 4
gpt4 key购买 nike

我正在尝试在前端使用 flask-socketio 和 javascript socket-io 库设置一个基本的网络套接字。前端成功注册连接。但是,在 python 控制台中,我的日志消息不起作用,并且没有迹象表明服务器正在响应我的请求。

我在连接时在控制台中得到的是:
“GET/socket.io/?EIO=3&transport=polling&t=MJHl5WD HTTP/1.1” 200 -
127.0.0.1 - - [25/Jul/2018 09:58:58] “POST/socket.io/?EIO=3&transport=polling&t=MJHl5WQ&sid=b2a1f92c18e349c5a11df25e5001766c HTTP/1.1” 200 -

所以连接正常,但是,后端没有任何其他输出。

这是JS:

var socket=io('http://127.0.0.1:5000');
socket.on('connect',function(){
console.log("connected");
socket.emit('client_connected',{data:"testsend"});

});
socket.on('update',function(data){
console.log(data)
});

还有 python :

import json
import urllib3
from bs4 import BeautifulSoup
from flask import Flask, jsonify, render_template, request
from flask_socketio import SocketIO, send, emit

app=Flask(__name__)
socketio= SocketIO(app)
if __name__ == '__main__':
socketio.run(app)
socketio.emit('update',{'data':"test"});

@socketio.on('client_connected')
def handle_client_connect_event(data):
print("connected")
print(str(data))
@socketio.on('disconnect')
def disconnected():
print('disconnected')
@socketio.on('connect')
def connected():
print('connected')

@socketio.on 行均无效,“更新”事件也无效。将不胜感激。

最佳答案

事件定义在 socketio.run() 下,它启动服务器并阻塞,因此它们永远不会被注册。如果您将这些移动到此调用之上,它们应该可以正常工作。

关于javascript - Python Flask-socketio 工作,不从 JS 客户端接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51525261/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com