发送套接字消息Android Socket-IO Client

时间:2017-11-09 12:18:21

标签: android node.js sockets emit

在我的应用程序中,我正在尝试与节点服务器通信。我已经使用socket-io客户端库设置了套接字并完成了我的初始化:

public io.socket.client.Socket mSocket;
    try {
        mSocket = IO.socket(Constants.PUBLIC_CHAT_ENDPOINT);
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }

客户端,即我的应用程序成功连接到服务器,我的第一次发射测试成功如下:

mSocket.emit("send-message", "Hello Server");

但是当我尝试像这样发出我的信息时

    mSocket.on(Socket.EVENT_CONNECT, new io.socket.emitter.Emitter.Listener() {
        @Override
        public void call(Object... args) {
            Snackbar.make(findViewById(android.R.id.content), "Connected", BaseTransientBottomBar.LENGTH_SHORT).show();
            mSocket.emit(Constants.SOCKET_SEND_MESSAGE_EVENT, "Hello Server");
        }
    }). on("send-message", new io.socket.emitter.Emitter.Listener() {
        @Override
        public void call(Object... args) {
                JSONObject messageObject = new JSONObject();
                JSONObject metaMessageObject = new JSONObject();
                JSONObject moreDetails = new JSONObject();
                try {
                    moreDetails.put("roomId", chatRoomId);
                    moreDetails.put("userId", userId);
                    moreDetails.put("message", msg_body);

                    metaMessageObject.put("type", Constants.ChatCircle_Msg_Type);
                    metaMessageObject.put("content", moreDetails);

                    messageObject.put("data", metaMessageObject);

                    mSocket.emit("send-message", messageObject);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
        }
    }).on(Constants.SOCKET_GET_MESSAGE_EVENT, new io.socket.emitter.Emitter.Listener() {
        @Override
        public void call(Object... args) {

        }
    });

    mSocket.connect();

,邮件未注册。我这样做错了吗?谢谢大家。

0 个答案:

没有答案