2016-03-01 9 views
6

Używam socketio.jar do ustanowienia połączenia między Klientem a Serwerem.Metoda IOAcknowledge NIE działa dla SocketIO w systemie Android?

tj. z mojego urządzenia z systemem Android (klient) do serwera węzła.

Dzięki temu mogę z powodzeniem łączyć się, wysyłać i odbierać wiadomości na ten serwer.

Problemem jest to, dlaczego jestem NIE otrzymuję żadnych Podziękowanie z gniazda po emitujące wiadomości na serwerze. Istnieje interfejs CallBack IOAcknowledge jako parametr, który nigdy nie działa/wywołuje dla mnie.

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");

Czy ktoś zna rozwiązanie kiedy i jak to IOAcknowledge będzie działać?

EDYTOWANIE: Łącznik do dokumentów z biblioteki gniazd, z którego korzystam.

Official i Github

Odpowiedz

1

Wydaje się, że zapomniałeś do wywołania zwrotnego od kodu po stronie serwera:

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!'); 
    }); 
}); 

Aby uzyskać więcej informacji sprawdź this wątku lub docs

EDYCJA:

Problemem jest również, że Ack realizacja powinna być jak ostatniej parametru emit funkcji, dzięki czemu kod Java powinna wyglądać następująco:

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

dzięki za zbliża @ rom4ek. otrzymujemy błąd, gdy zintegrujemy Twój kod, który zostanie wymieniony poniżej przez mojego partnera. –

+0

wywołanie zwrotne ("Wiadomość pomyślnie dostarczona na serwer!"); ^ TypeError: undefined nie jest funkcją Zaimplementowałem to na serwerze. Ale otrzymuję powyższy błąd –

+0

biblioteki socket.io, które mam używane, które mają tę samą sekwencję parametrów, które napisałem. NIE zgodnie z twoją sekwencją. –