移动终端TCP通信、装置、设备及存储介质制造方法及图纸

技术编号:30794875 阅读:17 留言:0更新日期:2021-11-16 07:59
本发明专利技术涉及通信测试技术领域,提供了一种移动终端TCP通信方法、装置、设备及存储介质。该方法包括:开启一个子线程基于子线程创建中转模块,建立子线程与应用APP的主线程通信;利用中转模块与配置数据中目标远程服务器的IP和端口创建套接字,根据套接字建立应用APP与目标远程服务器的TCP通信;当终端的位置信息发生变化时,选取与终端的位置信息距离最近的远程服务器作为新的目标远程服务器;建立终端的H5与应用APP的连接协议,根据连接协议建立H5与应用APP通信,以供H5与新的目标远程服务器建立通信;减轻应用APP的主线程处理端口数据的工作负荷及解决H5的复用场景问题。本发明专利技术还涉及区块链技术领域,上述中转模块还可以存储于一区块链的节点中。储于一区块链的节点中。储于一区块链的节点中。

【技术实现步骤摘要】
移动终端TCP通信、装置、设备及存储介质


[0001]本专利技术涉及通信测试
,尤其涉及一种移动终端TCP通信方法、装置、设备及存储介质。

技术介绍

[0002]目前,现有的TCP网络通信在多端口通信场景下,通常将通信层全部运行由应用APP的主线程执行,循环判断各通信端口是否有数据需要处理,这样容易造成终端的应用APP运行性能较低,加上通信层的代码执行异常时,可能会造成终端的应用APP异常甚至崩溃。
[0003]此外在终端开发流程中,无论是iOS、安卓端,还是H5的,都是使用已经封装好的网络通信库,开发者只需要开箱即可使用,因为这些网络通信库都是基于各个平台开发,使用不同的程序语言及业务性代码杂糅在一起,所以各个网络通信库难以迁移复用,当各个网络通信库的端口与远程服务器通信时,连接程序都要重写,这样容易占用终端的大量内存,造成终端与用户交互时运行卡顿。

技术实现思路

[0004]鉴于以上内容,本专利技术提供一种移动终端TCP通信方法、装置、设备及存储介质,其目的在于解决现有技术中应用APP的主线程判断及处理各通信端口的数据,造成终端的应用APP运行性能较低,和H5通信库难以迁移复用的技术问题。
[0005]为实现上述目的,本专利技术提供一种移动终端TCP通信方法,该方法包括:
[0006]从所述终端的预设数据库中读取配置数据,开启一个子线程并基于所述子线程创建预设中转模块,根据所述中转模块建立所述子线程与所述终端的一个应用APP的主线程之间通信;
[0007]根据终端当前的位置信息,利用所述中转模块与所述配置数据中目标远程服务器的IP和端口创建预设数量的套接字,根据每个套接字建立所述应用APP与所述目标远程服务器的TCP通信;
[0008]实时判断所述终端的位置信息是否发生变化,当判断所述位置信息发生变化时,根据所述配置数据选取与所述终端的位置信息距离最近的远程服务器作为新的目标远程服务器;
[0009]建立所述终端的H5与所述应用APP的连接协议,根据所述连接协议建立所述H5与所述应用APP之间通信,以供所述H5与所述新的目标远程服务器建立通信。
[0010]优选的,所述从所述终端的预设数据库中读取配置数据,包括:
[0011]当所述预设数据库中未存储有所述配置数据时,向配置服务器请求下发所述配置数据并存储至所述预设数据库中;
[0012]当所述预设数据库中存储有所述配置数据时,向所述配置服务器查询是否有更新版本的配置数据,当有更新版本的配置数据时,向所述配置服务器请求下发更新版本的配
置数据并以所述更新版本的配置数据替换所述预设数据库中存储的配置数据。
[0013]优选的,所述开启一个子线程并基于所述子线程创建预设中转模块,包括:
[0014]开启一个子线程并基于所述子线程对应的socket pair端口创建所述中转模块,用于临时接收和发送数据。
[0015]优选的,所述利用所述中转模块与所述配置数据中目标远程服务器的IP和端口创建预设数量的套接字,包括:
[0016]根据所述中转模块创建每个所述套接字的用户缓冲区,所述用户缓冲区包括发送缓冲区和接收缓冲区;
[0017]创建EPOLL函数的抽象文件对象并将所述抽象文件对象存储至所述终端的内核中,将每个所述套接字插入所述抽象文件对象中,并在所述内核中注册所述套接字的事件。
[0018]优选的,所述根据每个套接字建立所述应用APP与所述目标远程服务器的TCP通信,包括:
[0019]当所述内核监测到任意一个套接字为读数据事件时,根据所述中转模块确定所述接收缓冲区的第一容量值,判断所述第一容量值是否大于或等于第一预设阈值,若是,通知所述应用APP的主线程读取所述接收缓冲区的数据;
[0020]当所述内核监测到任意一个套接字为写数据事件时,根据所述中转模块确定所述发送缓冲区的第二容量值,判断所述第二容量值是否小于或等于第二预设阈值,若是,通知所述应用APP的主线程所述发送缓冲区的数据已完成发送。
[0021]优选的,所述建立所述终端的H5与所述应用APP的连接协议,包括:
[0022]利用所述应用APP与所述终端的H5建立JSBridge通信连接并约定一个伪协议格式。
[0023]优选的,所述H5与所述新的目标远程服务器建立通信,包括:
[0024]对所述H5发送的请求进行拦截,利用所述应用APP根据所述伪协议格式解析出所述请求中的数据,将所述数据通过所述中转模块发送至所述新的目标远程服务器;
[0025]接收所述新的目标远程服务器的应答数据,将所述应答数据转换成所述应用APP与所述新的目标远程服务器通信协定的数据格式后,通过所述JSBridge回调给所述H5;
[0026]为实现上述目的,本专利技术还提供一种移动终端TCP通信装置,所述装置包括:
[0027]连接模块:用于从所述终端的预设数据库中读取配置数据,开启一个子线程并基于所述子线程创建预设中转模块,根据所述中转模块建立所述子线程与所述终端的一个应用APP的主线程之间通信;
[0028]通信模块:用于根据终端当前的位置信息,利用所述中转模块与所述配置数据中目标远程服务器的IP和端口创建预设数量的套接字,根据每个套接字建立所述应用APP与所述目标远程服务器的TCP通信;
[0029]判断模块:用于实时判断所述终端的位置信息是否发生变化,当判断所述位置信息发生变化时,根据所述配置数据选取与所述终端的位置信息距离最近的远程服务器作为新的目标远程服务器;
[0030]响应模块:用于建立所述终端的H5与所述应用APP的连接协议,根据所述连接协议建立所述H5与所述应用APP之间通信,以供所述H5与所述新的目标远程服务器建立通信。
[0031]为实现上述目的,本专利技术还提供一种终端,所述终端包括:
[0032]至少一个处理器;以及,
[0033]与所述至少一个处理器通信连接的存储器;其中,
[0034]所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述移动终端TCP通信方法。
[0035]为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有移动终端TCP通信程序,所述移动终端TCP通信程序被处理器执行时,实现如权利要求1至7中任一项所述移动终端TCP通信方法的步骤。
[0036]本专利技术提出的移动终端TCP通信方法、装置、设备及存储介质,根据应用APP的主线程和子线程的架构分层设计,不需要应用APP的主线程轮询各通信端口是否需要读取或写入数据,而子线程创建的中转模块代替应用APP的主线程去判断各通信端口是否需要读取或写入数据,当判断端口的数据达到预设阈值时,通知应用APP的主线程读取数据,实现应用APP的主线程只负责UI和逻辑处理,减轻应用APP的主线程工作负荷,提高终本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种移动终端TCP通信方法,应用于终端,其特征在于,所述方法包括:从所述终端的预设数据库中读取配置数据,开启一个子线程并基于所述子线程创建预设中转模块,根据所述中转模块建立所述子线程与所述终端的一个应用APP的主线程之间通信;根据终端当前的位置信息,利用所述中转模块与所述配置数据中目标远程服务器的IP和端口创建预设数量的套接字,根据每个套接字建立所述应用APP与所述目标远程服务器的TCP通信;实时判断所述终端的位置信息是否发生变化,当判断所述位置信息发生变化时,根据所述配置数据选取与所述终端的位置信息距离最近的远程服务器作为新的目标远程服务器;建立所述终端的H5与所述应用APP的连接协议,根据所述连接协议建立所述H5与所述应用APP之间通信,以供所述H5与所述新的目标远程服务器建立通信。2.如权利要求1所述的移动终端TCP通信方法,其特征在于,所述从所述终端的预设数据库中读取配置数据,包括:当所述预设数据库中未存储有所述配置数据时,向配置服务器请求下发所述配置数据并存储至所述预设数据库中;当所述预设数据库中存储有所述配置数据时,向所述配置服务器查询是否有更新版本的配置数据,当有更新版本的配置数据时,向所述配置服务器请求下发更新版本的配置数据并以所述更新版本的配置数据替换所述预设数据库中存储的配置数据。3.如权利要求1所述的移动终端TCP通信方法,其特征在于,所述开启一个子线程并基于所述子线程创建预设中转模块,包括:开启一个子线程并基于所述子线程对应的socket pair端口创建所述中转模块,用于临时接收和发送数据。4.如权利要求1所述的移动终端TCP通信方法,其特征在于,所述利用所述中转模块与所述配置数据中目标远程服务器的IP和端口创建预设数量的套接字,包括:根据所述中转模块创建每个所述套接字的用户缓冲区,所述用户缓冲区包括发送缓冲区和接收缓冲区;创建EPOLL函数的抽象文件对象并将所述抽象文件对象存储至所述终端的内核中,将每个所述套接字插入所述抽象文件对象中,并在所述内核中注册所述套接字的事件。5.如权利要求4所述的移动终端TCP通信方法,其特征在于,所述根据每个套接字建立所述应用APP与所述目标远程服务器的TCP通信,包括:当所述内核监测到任意一个套接字为读数据事件时,根据所述中转模块确定所述接收缓冲区的第一容量值,判断所述第一容量值是否大于或等于第一预设阈值,若是,通知所述应用APP的主线程读取所述接收缓冲区的...

【专利技术属性】
技术研发人员:陈晟豪
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1