Mars Sample 使用说明

garryyan edited this page Jan 19, 2018 · 13 revisions

为了更好地帮助开发者使用和理解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

当使用Mars开发团队提供的腾讯云服务时,无需对Android Sample进行任何修改,使用Android Studio 打开mars源码目录下samples/android/build.gradle,待gradle sync完成,直接启动即可。

若开发者使用本地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 把手机或者模拟器的端口映射到电脑上, 需要注意的Android 5.0及以上才支持 adb reverse

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

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

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

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

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

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

iOS/Mac Sample

进入mars源码目录下samples/iOS/iOSDemo or samples/Mac选择xcodeproj启动, 若使用本地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");

推荐方法二

Windows Sample

进入mars源码目录下samples/Windows,选择Sample.sln启动,默认使用marsopen.cn服务,若使用本地Server,全局搜索marsopen.cn,替换为127.0.0.1,删除stn_callback.cpp中的

	vector.push_back("118.89.24.72");
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.