2016-03-01 24 views
6

Sto usando socketio.jar per stabilire la connessione tra Client e Server.Il metodo IOAcknowledge NON funziona per SocketIO in Android?

I.e. dal mio dispositivo Android (Client) a un server Node.

Come riesco a connettere, inviare e ricevere messaggi a quel server.

Il problema è per questo che sono NON ottenere qualsiasi Riconoscimento dalla presa dopo l'emissione di un messaggio al server. C'è un'interfaccia callBack IOAcknowledge come parametro, che non funziona mai/invoca per me.

socket.emit("sendMessage", new IOAcknowledge() { 
 

 
\t @Override 
 
\t public void ack(Object... arg0) { 
 

 
\t \t System.out.println("sendMessage IOAcknowledge" + arg0.toString()); 
 
\t } 
 

 
}, "Hi!! how are you");

Qualcuno sa la soluzione quando o come quello IOAcknowledge funzionerà?

MODIFICA: Docs link of socket library che sto usando.

Official e Github

risposta

1

Sembra, che si è dimenticato di richiamare il callback sul codice lato server:

var io = require('socket.io')(80); 
io.on('connection', function (socket) { 
    socket.on('sendMessage', function (data, callback) { 
     console.log('Message received:', data); 
     callback('Message successfully delivered to server!'); 
    }); 
}); 

Per ulteriori informazioni consulta this filo o docs

EDIT:

Il problema è anche che Ack attuazione dovrebbe venire come ultima parametro della emit funzione, in modo che il codice Java dovrebbe essere simile a questo:

socket.emit("sendMessage", "Hi!! how are you", new Ack() { 
    @Override 
    public void call(Object... args) { 
     System.out.println("sendMessage IOAcknowledge" + args.toString()); 
    } 
}); 
+0

grazie per l'avvicinamento @ rom4ek. stiamo ricevendo un errore quando abbiamo integrato il tuo tipo di codice .. che sarà menzionato di seguito dal mio compagno. Chiamata –

+0

('Messaggio consegnato correttamente al server!'); ^ TypeError: undefined non è una funzione L'ho implementato sul server. Ma sto ricevendo l'errore sopra riportato –

+0

della libreria socket.io che ho usato che ha la stessa sequenza di parametri che ho postato. NON secondo la tua sequenza. –