在Android中使用socketio进行通信 - socket.emit错误

时间:2014-04-16 17:37:35

标签: java android node.js sockets

我尝试使用android作为客户端与我的nodejs应用程序进行通信。目前我使用https://github.com/Gottox/socket.io-java-client存储库作为参考。尝试了回购的例子,但没有帮助。

NodeJS-SocketIO代码:

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();
    }
});

Android-Java代码:

try {
                JSONObject json = new JSONObject();
                json.putOpt("data", "user1");
                socket.emit("new user", json);

            } catch (JSONException ex) {
                ex.printStackTrace();
    }

但是,上面的代码导致TypeError:undefined。请帮忙。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以取消JSON object。你可以这么做:

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

不太确定发送JSON,但如果你愿意,你是否尝试过:

JSONArray array = new JSONArray();
array.put("data", "user1");
socket.emit("new user", array);

非常确定JSON需要包含括号。