Por apenas uma tomada conectar não está funcionando no frasco e socketio?

votos
0

Há apenas 'Getting' não está funcionando neste cliente. Isso faz com que o servidor não pode ser acionado. O servidor não pode ser acionado sem os dados de 'Getting'. E ele não tem uma resposta para o cliente. A função de monitor cliente não pode ser acionado. Os detalhes estão no código, por favor verificá-lo. Outros eventos são bons, como 'conectar' e Carregando.

Muito obrigado.

Código do cliente

let socket = io.connect('https://' + document.domain + ':' + location.port);

let rid = 0;

// This one is good
socket.on('connect', function () {
    console.log('connected');
    reloadR()
});

// This one is good
socket.on('Loadings', function (data) {
    initR(data);

});

// The monitor is not triggered because the backend py function is not triggered
// That means there is not response from backend
// The py func is not triggered because it does not get the data of 'Getting'
socket.on('Getting', function (data) { 
    show_logs(data);
});

window.onload = function (event) {
    setInterval(reloading, 100);
};

function reloading() {
    console.log(rid) //rid is good
    if(rid != 0) {

        // TODO: Why the py function in the backend that cannot receive the DATA of 'Getting'? ***
        let status=socket.emit('Getting', JSON.stringify({rid: rid})) 
        $('#viewer_panel').show();
        console.log(status)
    }
    else {
        $('#viewer_panel').hide();
    }
}

projecto de código do servidor: Este é um projecto de código, que é ok para explicar.

@socketio.on('Loadings')
def load_bots(json1):
    pass

# The py func is not triggered ***
# 'Getting' is nothing
@socketio.on('Getting')
def get_report(json1):
    _json=json.load(json)

    rid=_json.robot_id
    info=[]

    info.append([{'rid': rid}])
    emit('Getting', {'data': info}, room=request.sid)

emitem ( 'Getting') não está funcionando, que faz com que o servidor não pode ser desencadeada, e nenhuma resposta para o cliente.

Publicado 10/10/2019 em 00:47
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Ele funciona com:

sio.emit('Getting', "test")
Respondeu 10/10/2019 em 00:53
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more