【发布时间】:2020-03-14 20:34:45
【问题描述】:
我正在我的应用程序上实现 websockets。连接发生,但回声事件永远不会触发,我不明白为什么。服务器成功为我的 index.html 提供服务,并且“已连接”行确实登录了我的服务器,并且我的前端没有收到任何 404 或拒绝连接或服务器上的错误。
客户端代码:
componentDidMount() {
const socket = socketIOClient(ipaddress)
socket.on('connection', () => socket.emit('echo', { data: 'hello' }))
socket.on('echoresponse', ({ data }) => {
console.log(data)
socket.disconnect()
})
}
服务器代码:
app = Flask(__name__,
static_url_path='',
static_folder='dist',
template_folder='dist')
socketio = SocketIO(app)
@app.route('/')
def home():
return app.send_static_file('index.html')
@socketio.on('connect')
def connected():
print('Connected')
@socketio.on('disconnect')
def disconnected():
print('Disconnected')
@socketio.on('echo')
def echo(message):
emit('echoresponse', {'data': message['data']})
socketio.run(app, host='0.0.0.0', port=80)
【问题讨论】:
-
你在服务器端的
echo函数是否被调用了? -
不,我尝试了打印语句并没有触发
标签: javascript python reactjs flask websocket