Mars

因为公司业务是做行情的,一般的短连接达不到这种频繁更新数据的需求,所以长连接是必不可少的。 当下比较流行的三方框架我觉得就属Mars了,多平台都可以使用,而且最主要的是微信官方开源,瞬间逼格就上去了,在网络质量、日志打印这些方面表现相对比较突出,所以就决定用Mars组件进行长连接的开发。 官方[demo](https://github.com/Tencent/mars),下载到本地后, - 如果你只是想看下长连效果,那么导入Android项目后,直接将MarsServiceStub.java下
{
    @Override
    public String[] onNewDns(String host) {
        return new String[]{
                "xxx.xxx.xxx.xxx"
        };
    }
}
  • 如果你想对接自己本地服务
    1.全局搜索marsopen.cn,修改替换为localhost
    2.在保证 app/build.gradle 下useLocalMarsWrapper = true的情况下,在 wrapper module 下修改 com.tencent.mars.sample.wrapper.service. MarsServiceStub.java 的 dns 解析的地址为本地主机的 IP 地址 (wiki 上没写清楚)
{
    @Override
    public String[] onNewDns(String host) {
        return new String[]{
                "192.168.128.123"
        };
    }
}
源代码返回的是null,此处修改为他们远程服务地址即可。但是如果你想调试自己本地服务,你也有两种方式: ①找到Server文件夹下有个start_server.py的Python文件,在mac命令行下输入命令直接打开服务(此处严重要注意的是,我7月份下的官方代码服务端有问题,害我调试很长时间没成功,后来找到之前下的代码,才发现没有问题,如果大家执行Python文件服务也未开启成功,可移步到结尾下载)
$ python start_server.py 
Enter menu:
1. start server on Mac, Linux or Cygwin.
2. start server on Windows.
3. exit.
由于服务端代码是gradle构建,和Android Studio的gradle一样,所以第一次会很慢,请大家耐心等待。如果成功的话,会弹出两个新弹窗,不成功的话就是服务有问题,请下载我提供的代码。

出现以上界面,说明服务开启成功。

②这是利用脚本打开服务,一般对于不会服务端开发的人适用,如果你会服务端开发,那么可以直接导入代码开启服务,这样还能更好的理解服务端代码逻辑。本人服务端没有研究过,暂时只是搭建了环境,不知道怎么才算运行成功,总之是没看到效果,回头还是请教下专业人士,再把这里完善下。


好了,我们看下效果。

DEMO下载

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值