繁体   English   中英

从android中的socket.io发送JSON数据

[英]Send JSON data from in socket.io from android

我在android中使用https://github.com/Gottox/socket.io-java-client进行套接字编程。 现在我收到JSON响应,现在我想从我的Android应用程序发送JSON数据到这个node.js服务器请帮助我。 这是我的代码

buttonConnect.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // socket = null;
            try {
                SocketIO socket = new SocketIO(
                        "http://104.131.225.38:8001/");

                socket.connect(new IOCallback() {

                    @Override
                    public void onMessage(JSONObject arg0,
                            IOAcknowledge arg1) {
                        try {
                            Log.i("Server saidwsssss:",
                                    "sssss" + arg0.toString(2));
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }

                    }

                    @Override
                    public void onMessage(String arg0, IOAcknowledge arg1) {
                        Log.i("Server said:", "" + arg0);

                    }

                    @Override
                    public void onError(SocketIOException arg0) {
                        Log.i("OnError", "" + arg0);

                    }

                    @Override
                    public void onDisconnect() {
                        Log.i("Connection Terminated",
                                "Connection Terminated");

                    }

                    @Override
                    public void onConnect() {
                        Log.i("Connection Established",
                                "Connection Established");

                    }

                    @Override
                    public void on(String arg0, IOAcknowledge arg1,
                            Object... arg2) {
                        Log.i("Server Trigger Event:", "" + arg0 + ""
                                + arg1);
                        if (arg0.equals("nbUsers")) {
                            Log.i("DONE", "DONE" + arg0.toString());
                        }
                        Object[] arguments = arg2;
                        Log.i("Args", "" + arguments[0].toString());

                    }
                });
                socket.send("hello server");
                socket.emit("event", "argument1", "argument2", 13.37);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    });
}

您可以使用允许将对象转换为JSON字符串的Gson对象,并将转换应用于JSONObject,如下所示:

Entity en = new Entity();
Gson gson = new Gson();
try {
    JSONObject obj = new JSONObject(gson.toJson(en));
    socket.emit("entity", obj);
} catch (JSONException e) {
    e.printStackTrace();
}

这就是我的方式。 要使用Gson,您应该添加Gradle依赖项:

 compile 'com.google.code.gson:gson:2.+'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM