首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Socket.io 0.9在Android上发出响应,使用Gottox/socket.io-java-client

Socket.io 0.9在Android上发出响应,使用Gottox/socket.io-java-client
EN

Stack Overflow用户
提问于 2015-02-04 09:32:54
回答 1查看 779关注 0票数 0

如果有人能给我看,我的密码怎么了?我真的花了很多时间想办法解决这个问题。在成功连接到服务器之后,您可以在日志中看到的"chatinfo“事件正在自动传递。

我使用的是:安卓设备上的Gottox/socket.io-java-client,服务器上的http://socket.io/ 0.9.16,授权是通过在连接建立时在标头中传递令牌。

代码:

代码语言:javascript
复制
private void getList(SocketIO socket) {
    try {
        socket.emit(EventList.GETLIST, new JSONObject().put("sortByDate", true));
        Log.v("getList", "emitted");
    } catch (JSONException e) {
        e.printStackTrace();
        Log.v("getList", "not emitted");
    }
} 

代码:

代码语言:javascript
复制
@Override
public void on(String s, IOAcknowledge ioAcknowledge, Object... objects) {
    JSONObject respond = (JSONObject) objects[0];
    Log.d("testFromOn", "String s = " + s);
    Log.d("testFromOn", "on" + respond);
    switch (s) {
        case GETLIST:
            Log.d("GETLIST", "GETLIST responce: " + s);
            break;

日志

代码语言:javascript
复制
I/io.socket﹕ < 1::
D/test﹕ onConnect
I/io.socket﹕ < 5:::{"name":"chatinfo","args":[{"onlineCount":0,"onlineFriendsCount":0,"unreadCount":7,"unreadFriendsCount":0,"userInfo":{"avatar":"1415903272343.jpg","url":"/user/5431b4955518085d5db4be23","_id":"5431b4955518085d5db4be23"}}]}
D/testFromOn﹕ String s = chatinfo
D/testFromOn﹕ on{"onlineCount":0,"onlineFriendsCount":0,"unreadCount":7,"unreadFriendsCount":0,"userInfo":{"avatar":"1415903272343.jpg","url":"\/user\/5431b4955518085d5db4be23","_id":"5431b4955518085d5db4be23"}}
I/io.socket﹕ > 5:::{"name":"getlist","args":[{"sortByDate":true}]}
V/getList﹕ emitted
I/io.socket﹕ > 2::
I/io.socket﹕ > 5:::{"name":"getlist","args":[{"sortByDate":true}]}
V/getList﹕ emitted
I/io.socket﹕ < 2::
I/io.socket﹕ > 2::
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-11 06:53:59

最后,我的问题并没有那么严重。我只是错过了再添加一个参数到我的发射。所以没人注意到服务器的反应。

唯一需要补充的是:

代码语言:javascript
复制
IOAcknowledge ack = new IOAcknowledge() {
@Override
public void ack(Object... args) {
    if (args.length > 0) {
        Log.d("SocketIO", "" + args[0]);
    }
}
}

并将IOAcknowledge传递给emit方法:

代码语言:javascript
复制
socket.emit(EventList.GETLIST, ack, new JSONObject().put("sortByDate", true));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28317899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档