zoukankan      html  css  js  c++  java
  • Mars Sample 使用说明

    为了更好地帮助开发者使用和理解Mars并且体验Mars的特性,需要开发者自行搭建服务器。服务器的代码在mars源码目录下的samples/server中

    体验内容包括:

    • 基于TCP长连接的聊天室体验。
    • 数据通信成功率、耗时、流量的展示。
    • 网络状况检测结果展示。

    如果开发者想要本地体验,可以遵照下面的方法。

    Server启动

    进入mars源码目录下的samples/server,执行start_server.py脚本,选择对应平台

    $ python start_server.py 
    Enter menu:
    1. start server on Mac, Linux or Cygwin.
    2. start server on Windows.
    3. exit.
    

    若在类Unix平台执行脚本后出现

    : file not found
    

    错误,请使用vim打开gradlew文件,按

    shirft+:
    

    ,输入

    set fileformat=unix
    

    后保存并退出。

    server代码使用java编写,gradle集成,所以首次使用的开发者需要耐心等待gradle环境的自动下载和准备。

    Mac、Windows平台执行脚本成功后会弹出Proxy和WebServer启动成功的命令行窗口:

    Linux平台下Server的启动被设置为后台进程,当脚本执行完毕后可通过

    ps aux|grep gradle
    

    命令观察,并进入

    {user.home}/logs/mars
    

    目录查看日志,确认是否启动成功。

    Android Sample

    使用本地Server服务,有多种方法可供选择:

    方法一、修改替换云服务域名marsopen.cn的NewDNS解析(MarsServiceStub.java):

    {
        @Override
        public String[] onNewDns(String host) {
            return new String[]{
                    "118.89.24.72"
            };
        }
    }

    "118.89.24.72"替换为"127.0.0.1",并且需要将app/build.gradle里的useLocalMarsWrapper修改为true,使用本地wrapper project

    方法二、全局搜索marsopen.cn,修改替换为localhost

    强烈推荐方法二

    把手机连接到电脑上或者打开模拟器,运行

    adb reverse tcp:8080 tcp:8080
    adb reverse tcp:8081 tcp:8081
    

    把手机或者模拟器的端口映射到电脑上, 需要注意的Android 5.0及以上才支持 adb reverse

    使用Android Studio打开mars源码目录下samples/android/build.gradle,待gradle sync完成,直接启动即可。

    启动Android Sample后进入会话列表界面:

    点击任意Topic即可进入聊天室:

    开发者如果想查看数据通信的成功失败以及耗时等多方面数据统计,可在会话列表界面点击右上角进入:

    简单解析数据统计页面内容:

    • 界面底部Tab分别展示数据通信、流量、网络自动检测的统计结果。
    • 数据通信页面,task 代码执行的数据通信业务类型、success 表明是否执行成功...

    如图中表示拉取会话列表的通信通过 HTTP 短连接执行了两次失败。

    iOS/Mac Sample

    使用本地Server服务,

    方法一、需要修改替换云服务域名marsopen.cn的NewDNS解析(stn_callback.mm):

    std::vector<std::string> StnCallBack::OnNewDns(const std::string& _host) {
    	std::vector<std::string> vector;
    	vector.push_back("118.89.24.72");
    	return vector;
    }

    方法二、全局搜索marsopen.cn,修改替换为localhost,删除stn_callback.mm的OnNewDns方法中的

    	vector.push_back("118.89.24.72");

    推荐方法二,然后按照下列方法运行程序:

    1. 通过编译脚本编出相应的库
    2. 把 framework 库放到相应的 sample 目录,例如 iOSDemo 目录(如果提示链接不上,或者库在其他目录通过修改 Link Binary With Libraries链接上正确的mars库)
    3. 把进入 mars 源码目录下 samples/iOS/iOSDemo or samples/Mac 选择 xcodeproj 启动,

    Windows Sample

    使用本地Server: 全局搜索marsopen.cn,替换为127.0.0.1,删除stn_callback.cpp中的

    	vector.push_back("118.89.24.72");

    然后按照下列方法启动客户端:

    1. 进入到 sample/Windows目录
    2. 执行 md cmake_build && cd cmake_build && cmake .. && cmake --build . --target install --config Release && cd ..
    3. 进入到cmake_build/Windows.out目录运行exe即可
    4. 如果需要调试,可使用cmake_build目录下的sample.sln 进行调试
  • 相关阅读:
    CentOS7 命令笔记
    MarkDown学习
    系统管理员资源大全
    解决回车键导致的页面无意义刷新
    Tomcat远程调试
    gson 自定义对象转换格式
    maven私服搭建
    大明最不该被遗忘的英烈——李定国
    HashMap实现原理分析(转)
    自定义评分器Similarity,提高搜索体验(转)
  • 原文地址:https://www.cnblogs.com/endv/p/11102692.html
Copyright © 2011-2022 走看看