Socket.emit与Android中的回调 - NodeJS

时间:2014-04-20 10:42:03

标签: javascript android node.js sockets

我正在尝试使用服务器和Android中的SocketIO与NodeJS服务器进行通信。目前正在使用Gottox SocketIO-Java-Client Repository

的NodeJS:

 socket.on('new user',function(data, callback){
    if (nicknames.indexOf(data)!=-1){
        callback(false);
    } else{
        callback(true);
        socket.nickname = data;
        nicknames.push(socket.nickname);
        updateNicknames();
    }
});

机器人:

socket.emit("new user", "User01");

现在,如果我使用上面的代码,回调错误发生在回调(true),如以下链接所示: http://i.imgur.com/Hdn1yKQ.png

请建议如何在Android中实现回调。

谢谢!

2 个答案:

答案 0 :(得分:2)

尝试这对我有用,请记住回调是在其他线程中

mSocket.emit("newuser", email, new Ack() {
    @Override
    public void call(Object... args) {
        Log.i("callback","test");
    }
});

答案 1 :(得分:1)

您的Java客户端未提供回调。客户端方法应如下所示:

socket.emit("new user", new IOAcknowledge() {
    public void ack(Object...args) {

    }
}, "User01");