默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已解决] 求教MobileIMSDK服务器连接后无法监听返回消息的问题
今天想把sdk迁移到自己的程序中,但是登录的时候总是打印下面这一点日志。
复制demo里的loginActivity到项目中单独跑没问题,于是开始注释自己的代码,注释的过程中有时候可以拿到登录成功的消息,有时候又不可以。无奈自己项目里面有太多的代码和引用,无法一一注释,所以发帖请教一下。
注:每次发送登录请求服务端都是成功接收的,没有什么报错信息。

日志:

【IMCORE】isLocalUDPSocketReady()==false,需要先resetLocalUDPSocket()...
【IMCORE】正在closeLocalUDPSocket()...
【IMCORE】Socket处于未初化状态(可能是您还未登陆),无需关闭。
【IMCORE】new DatagramSocket()中...
【IMCORE】new DatagramSocket()已成功完成.
【IMCORE】【本地网络通知】检测本地网络已连接上了!
【IMCORE】正在closeLocalUDPSocket()...

登录代码:
// 确保MobileIMSDK被初始化哦(整个APP生生命周期中只需调用一次哦)
// 提示:在不退出APP的情况下退出登陆后再重新登陆时,请确保调用本方法一次,不然会报code=203错误哦!
IMClientManager.getInstance(context).initMobileIMSDK();

// 设置服务器地址和端口号
ConfigEntity.serverIP = "127.0.0.1";
ConfigEntity.serverUDPPort = 12345;
// 异步提交绑定id和token
new LocalUDPDataSender.SendLoginDataAsync(
        context
        , userid
        , password)
{
    /**
     * 绑定信息发送完成后将调用本方法(注意:此处仅是绑定信息发送完成
     * ,真正的绑定结果要在异步回调中处理哦)。
     *
     * @param code 数据发送返回码,0 表示数据成功发出,否则是错误码
     */
    @Override
    protected void fireAfterSendLogin(int code)
    {
        if(code == 0)
        {
            z.log( "【IMCORE】绑定/连接信息已成功发出!");
        }
        else
        {
            z.log( "【IMCORE】绑定/连接信息数据发送失败。错误码是:"+code+"!");
        }
    }
}.execute();


即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:MobileIMSDK
上一篇:[已回复] 想咨询一下MobileIMSDK消息发送成功送达服务器的判断问题下一篇:[已回复] 小白请教MobileIMSDK客户端发服务端的消息是怎么被监听到的?

本帖已收录至以下技术专辑

推荐方案
评论 3
基于底层网络接口的异步特性,MobileIMSDK的实时数据数据发送和接收是异步完成的两个过程,接收基本上都是通这事件通知实现的(可以说是回调)。

你可能没有注意Demo里的event包下的回调实现类,包括登陆认证回调等都是在这里里面实现的,你仔细研究一下,理解了就很简单,也能找到最佳实践。

好在Demo代码非常少,你有必要把demo代码都仔细读一遍(关键代码我都有注释和说明,请不要忽略任一行注释哦),心里就有底了:
[已解决] 求教MobileIMSDK服务器连接后无法监听返回消息的问题_QQ截图20171127193728.png
太不好意思了,是我自己傻了,用户名传了null导致的
引用:godaboy 发表于 2017-12-02 09:21
太不好意思了,是我自己傻了,用户名传了null导致的

摆乌龙了。。。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部