【发布时间】:2019-09-21 11:11:54
【问题描述】:
我正在使用 Flask 服务器。我从前端捕获面部并将其发送到烧瓶服务器,服务器检测面部并返回是否有面部。但问题是客户端和服务器之间只有一个连接。你能告诉我如何为套接字创建多个客户端吗?除了(房间和命名空间)谢谢!
这是一些代码
FlaskServer.py
from flask import Flask, render_template, redirect, url_for
from flask_socketio import SocketIO
import face_reg
app = Flask(__name__)
app.config['SECRET_KEY'] = 'vnkdjnfjknfl1232#'
socketio = SocketIO(app,cors_allowed_origins='*')
@app.route('/')
def sessions():
return render_template('flask_index.html')
def messageReceived(methods=['GET', 'POST']):
print('message was received!!!')
global result
@app.route('/success')
def success():
return render_template('success.html')
@app.route('/failure')
def failure():
return render_template('failure.html')
@socketio.on('my event')
def handle_my_custom_event(json, methods=['GET', 'POST']):
result = 1
socketio.emit('my response', result, callback=messageReceived)
if __name__ == '__main__':
socketio.run(app,host='127.0.0.1',port=8083)
client.js
var socket = io.connect('https://' + document.domain + ':' + location.port);
socket.on( 'my response', function( msg ) {
if(msg == 0){
window.location.href = "/failure";
}
else if(msg == 1){
window.location.href = "/success";
}
})
// Sending message to server
function sendMessage(img,name1){
console.log("Sending message: ",img)
socket.emit( 'my event', {
img_data : img,
name : name1
} )
//socket.emit(name);
}
【问题讨论】:
-
为什么说只有一个连接?您是否尝试过运行两个客户端?
-
@Miguel 是的,我尝试运行 2 个客户端,当检测到用户的面部时(在一个客户端),success.html 在两个客户端打开。
标签: javascript python socket.io flask-socketio