In 0.9.16, utilizzo socket.emit con callback in modo che il server di chat restituisca alcuni dati e possa gestire il risultato come da riconoscimento. Ma dopo l'aggiornamento a 1.3.5 Ho trovato un errore nella console come questoL'emissione SocketIO con callback non riesce durante l'aggiornamento da 0.9.16 a 1.3.5
Uncaught TypeError: Cannot read property 'apply' of undefined.
ho fatto qualcosa di simile,
Dal web
socket.emit('userToUser', { 'usename': 'John',
'message': 'hi'
}, function(callback){
//callback handled
});
Chat Server
socket.on('userToUser', function(content, callback){
//do something
if(callback) return callback({'result':'success', 'messageid':content.messageid, 'chatid':content.chatid});
});
Quando ho rimosso la richiamata dal lato client, non ci sono errori. Quindi credo che ci saranno alcune modifiche da fare nel callback.
sto ottenendo il riconoscimento e la chat funziona correttamente, ma la mia preoccupazione è sull'errore console che porta a socketio.js
Socket.prototype.onack = function(packet){
debug('calling ack %s with %j', packet.id, packet.data);
var fn = this.acks[packet.id];
fn.apply(this, packet.data);
delete this.acks[packet.id];
};
Ragazzi, per favore aiutatemi
"Grazie ragazzi per l'upvoting!" lol you – Foreever
Solo una FYI ha funzionato prima a causa di una perdita di memoria in Socket.IO 0.9.x - I gestori non venivano mai ripuliti correttamente (e quindi perdevano memoria e rendevano effettivamente vulnerabile il tuo server/client per gli attacchi) che ti permettevano di chiamare continuamente il callback. – 3rdEden