Я начал nodeJS, используя перья js. В моем приложении android ниже приведен код.
private Socket mSocket;
{
try {
mSocket = IO.socket("http://10.0.2.2:3031");
} catch (URISyntaxException e) {}
}
mSocket.on("sets", onNewMessage);
mSocket.connect()
mSocket.emit("sets::find", "", onNewMessage);
private Emitter.Listener onNewMessage = new Emitter.Listener() {
@Override
public void call(final Object... args) {
runOnUiThread(new Runnable() {
@Override
public void run() {
JSONArray data = (JSONArray) args[0];
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, ""+data, duration);
toast.show();
}
});
}};
После подключения к приложению Android я вижу hook.result на стороне сервера в журнале консоли. Клиент подключен и данные были взяты, но я ничего не получаю на Android. Что я делаю не так?
РАЗРЕШЕНО
mSocket.emit("sets::find", "", new Ack(){
@Override
public void call(final Object... args) {
runOnUiThread(new Runnable() {
@Override
public void run() {
JSONArray data = (JSONArray) args[1];
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, ""+data, duration);
toast.show();
}
});
}});