我想实现一个FlaskSocketIO与前端和我的网络套接字服务器之间socket.io.js应用实时通信SocketIO在JS
的前端代码看起来像这样:
$(document).ready(function() {
namespace = '/test';
var socket = io.connect('http://' + document.domain + ':' + location.port + namespace);
socket.on('connect', function() {
socket.emit('my event', {data: 'Client connected!'});
});
socket.on('my response', function(msg) {
$('#log').append('<br>' + $('<div/>').text('Received #' + msg.count + ': ' + msg.data).html());
}); });
我使用的瓶的代码是:
@socketio.on('my event', namespace='/test')
def receive__message(message):
socketio.emit('my response', {'data': 'Backend saw "' + json.dumps(message['data']) + '" from the frontend'})
print("Received from message data:" + json.dumps(message['data']))
在FlaskSocketIO方面我可以成功地收到消息,但是当我发出“我respose”的消息,我可以看到日È消息从谷歌浏览器网络选项卡内列出像下面但是不采取任何行动,根据我的JavaScript代码以上关于“我的响应”事件:
ÿ42["my response",{"data":"Backend saw \"{\"state\": \"Client Connected \"}\" from the frontend"}]
话虽如此,前端和flasksocketsio之间的通信被成功地进行了但没有任何反应上的代码,这部分...
socket.on('my response', function(msg) {
$('#log').append('<br>' + $('<div/>').text('Received #' + msg.count + ': ' + msg.data).html());
});
我使用警报(味精),甚至执行console.log(味精)尝试,但他们没有告诉我任何事情,甚至我看到收到的邮件。任何线索什么可能是错误的?可能Flask为SocketIO JS插件生成错误格式的消息?
工作就像一个魅力!非常感谢! – Mastermind