weapp-socketio / weapp.socket.io

A WebSocket client for building WeChat Mini Program implement by socket.io
http://weappsocket.matong.io
MIT License
682 stars 172 forks source link

请教python flask-socketio不兼容这个微信小程序js文件,报错"GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 400 ,是本项目依赖的socket.io-client版本太低了吗? #93

Closed gayshub closed 1 year ago

gayshub commented 1 year ago

python 环境版本 bidict==0.22.0 click==8.1.3 colorama==0.4.6 Flask==2.2.2 Flask-SocketIO==5.3.1 itsdangerous==2.1.2 Jinja2==3.1.2 MarkupSafe==2.1.1 python-engineio==4.3.4 python-socketio==5.7.2 Werkzeug==2.2.2

python代码 `from flask import Flask, render_template from flask_socketio import SocketIO, emit

app = Flask(name) app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) socketio.init_app(app, cors_allowed_origins='*')

@socketio.on('my event', namespace='/') def test_message(message): emit('my response', {'data': message['data']})

@socketio.on('my broadcast event', namespace='/') def test_message(message): emit('my response', {'data': message['data']}, broadcast=True)

@socketio.on('connect', namespace='/') def test_connect(): emit('my response', {'data': 'Connected'})

@socketio.on('disconnect', namespace='/') def test_disconnect(): print('Client disconnected')

if name == 'main': socketio.run(app, debug=True, host='0.0.0.0', port=8001)`

把编译好的小程序weapp js文件引入,分别把用yarn和npm安装软件生成的js文件放到小程序 const io = require('../../utils/yarn.dev.io.js') //const { io } = require('../../utils/npm.dev.io.js')

小程序客户端连接本机 const socket = io('http://192.168.1.4:8001/', { })

console.log('socket: ', socket)

服务器报错 "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 400

目前试过了很多种方法都不兼容,请教是什么问题?

已经试过降低flask-socketio版本到4.2.1, werkzeug到2.0.1, flask到2.0 ,但依然无效。