HGMMT与开发套件建立连接

建立连接

(1)目前建立连接是通过开发套件生成的十六进制IP加端口号(如A0AD377-257B),需要将十六进制IP加端口号转换成十进制(如10.10.211.119:9595),这时候通过CocoaAsyncSocket框架与开发套件建立连接。
(2)连接成功后向开发套件发送设备信息,主要是移动设备的信息,数据格式如下

/*
height:屏幕分辨率的高
deviceId:设备的唯一标识,因为iOS无法获取imei信息,使用bundle id代替
SERIAL:设备的序列序列号
deviceType:设备类型是手机还是平板
width:屏幕分辨率的宽
platform:平台是苹果还是安卓
MODEL:设备型号
version:设备的系统版本号
*/

-N:{"height":2208,"deviceId":"com.chinaeport.HGMMT5C6022A1-0190-46AA-B774-3CFD715F888D","SERIAL":"FD2VW2GUJCLY","deviceType":"Phone","width":1242,"platform":"IOS","MODEL":"iPhone_8_Plus","version":"12.10"}\n

**注:这里的数据格式为字符串,末尾要加\n **

(3)在设备信息传入开发套件后,开发套件run中会出现设备信息,证明HGMMT与开发套件建立了连接。

开发套件点击Run运行

(1)在开发套件点击run之后,开发套件会向HGMMT发送测试插件信息,数据格式如下:

/*
id:插件的唯一标识
name:插件的英文名称
nameCN:插件的中文名称
dept:开发单位
version:插件版本号
frame:开发框架
root:加载远程地址
*/

0002:{"id":1,"name":"test","nameCN":"","dept":"caac","version":"v0.1","frame":"ssl","root":"http://10.10.211.189:8181/HGMIDE/plugin/test"}

(2)解析出“root”字段进行远程链接加载,把开发套件中的页面显示出来。

从开发套件获取用户信息

(1)在用户标签页界面点击“从IDE获取”,则HGMMT发送以下数据到开发套件中请求。

0005:-L\n

(2)当开发套件接收到指令后,且在开发套件中已经设置了用户信息,会向HGMMT发送如下数据

0005:-L:[{"id":1,"guid":"123456789","usercode":"2853135","username":"邢伟新","dept":"数据中心"}]

从开发套件获取插件列表信息

(1)在首次进入“插件”标签页,会触发插件列表信息请求。同时下拉刷新也会触发请求。这时候HGMMT会向IDE发送如下指令

0006:-L\n

(2)IDE收到请求后会返回一下数据


/*
id:插件的唯一标识
name:插件的英文名称
nameCN:插件的中文名称
dept:开发单位
version:插件版本号
frame:开发框架
root:加载远程地址
*/

0006:-L:[{"id":1,"name":"APIDemo","nameCN":"插件测试","dept":"数据中心","version":"1","frame":"OC","root":"http://10.10.211.119:8181/HGMIDE/plugin/APIDemo"},{"id":2,"name":"wxTest","nameCN":"邢伟新测试","dept":"数据中心","version":"1","frame":"oc","root":"http://10.10.211.119:8181/HGMIDE/plugin/wxTest"}]

HGRequest中的请求(模拟门户中间件)

以get请求为例

(1)get请求10.10.211.74:8989/HGMIDEServer/HGUploadFile断点上传获取文件长度服务
(2)在开发套件中服务注册 服务标识hgmeap-pluginserver-HGUploadFile对应的IP(Port)为10.10.211.74:8989
(3)在HTML界面中如下调用

function getAction() {
    var server = "hgmeap-pluginserver-HGUploadFile";
    var url = "/HGMIDEServer/HGUploadFile";
    var params = [ {"HGFileName":"f5195ae6506.zip"} ];
    HGRequest.get(server, url,params, false, onsuccessCallbackRequest,
        onErrorCallbackRequest);

}

(4)在HGMMT中进行如下请求

  • 请求链接为10.10.211.119:8181/HGMIDE/hgmeam?http.protocol.content-charset=UTF-8(注意10.10.211.119不是固定的,是你开发套件电脑设备的IP即A0AD377-257B中的A0AD377装换成10进制)

  • 在请求头中添加“hgmeam_header_server”对应服务标识“hgmeap-pluginserver-HGUploadFile”

  • 在请求头中添加“hgmeam_header_url”对应请求的URL后半段“/HGMIDEServer/HGUploadFile”

  • 请求参数为[ {"HGFileName":"f5195ae6506.zip"} ]

  • 利用以上信息使用AFNetworking进行服务请求。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,513评论 0赞 5
  • 文章首发于个人blog欢迎指正补充,可联系lionsom_lin@qq.com原文地址:《网络是怎样连接的》阅读整...
    Lucus_Linx阅读 14,554评论 6赞 31
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,806评论 0赞 15
  • 当 app 和服务器进行通信的时候,大多数情况下,都是采用 HTTP 协议。HTTP 最初是为 web 浏览器而定...
    Flysss1219阅读 1,474评论 0赞 4
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,492评论 2赞 89

友情链接更多精彩内容