一种服务器和安卓客户端及其网络通信方法、装置制造方法及图纸

技术编号:13502429 阅读:38 留言:0更新日期:2016-08-09 23:44
本发明专利技术公开了一种服务器和安卓客户端及其网络通信方法、装置,其中,所述方法,包括:建立与服务器之间的网络套接字socket通道;通过所述socket通道接收所述服务器推送的消息;处理所述推送消息并通过所述socket通道返回应答消息。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其涉及一种服务器和安卓客户端及其网络通信方法、装置
技术介绍
安卓(Android),是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的OpenHandsetAlliance(OHA,开放手持设备联盟)持续领导与开发中。Android已发布的最新版本为Android6.0.1(M)。Android系统最初由安迪·鲁宾(AndyRubin)等人开发制作,最初开发这个系统的目的是创建一个数码相机的先进操作系统;但是后来发现市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的操作系统。于2005年8月被美国科技企业Google收购。2007年11月,Google与84家制造商、开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开放原始码许可证的授权方式,发布了Android的原码,让生产商推出搭载Android的智能手机,Android后来更逐渐拓展到平板电脑及其他领域上。目前搭载Android系统的客户端与服务器的通信方式绝大多数通信方式都是使用的http方式来实现的,如图1所示,这种通信方式是Android系统原生支持的一种通信方式。当前市面上的绝大多数客户端应用(app)都是通过主动向web服务器请求数据,服务器被动应答的方式来实现的,而对于需要由web服务器主动发起的通信,也是通过客户端轮询的方式去请求相应的数据。仅采用这种方式进行通信的缺点很明显,由于http通信是由客户端主动发起请求而服务器被动应答的方式来进行通信的,所以客户端想要响应服务器发出的指令,也必须是由客户端主动去轮询服务器相应的接口去获取服务器发出的指令,这样不断的轮询去查看服务器是否有指令发出,有指令发出则响应指令,无指令发出则继续轮询查看是否有指令发出,由于大多时间是没有相应的指令发出的,因此轮询机制会导致无指令时,也会不断的去查询接口导致对带宽的一种浪费,另外轮询是有时间间隔的,间隔短了对带宽及资源的占用就比较大,间隔长了实时性不好。为了便于叙述,以下将搭载安卓系统的客户端简称为安卓客户端。
技术实现思路
本专利技术期望提供一种服务器和安卓客户端及其网络通信方法、装置,能实现web服务器可以主动推送消息给安卓客户端。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供了一种网络通信方法,该方法包括:建立与服务器之间的网络套接字socket通道;通过所述socket通道接收所述服务器推送的消息;处理所述推送消息并通过所述socket通道返回应答消息。上述方案中,所述建立与服务器之间的socket通道包括:建立客户端网络套接字,通过该套接字发起心跳请求报文,直至收到服务器返回的心跳应答报文。上述方案中,当所述安卓客户端需要从服务器获取数据时,所述方法还包括:以http的方式主动发起请求。本专利技术实施例还提供一种服务器的网络通信方法,该方法包括:建立与安卓客户端之间的socket通道;通过所述socket通道向所述安卓客户端推送的消息,直至收到所述安卓客户端返回的应答消息。上述方案中,所述建立与安卓客户端之间的socket通道包括:建立监听套接字,用于监听安卓客户端发来的心跳请求报文;当收到安卓客户端的心跳报文时,返回心跳应答报文。本专利技术实施例还提供一种网络通信装置,位于安卓客户端,所述装置包括:第一socket模块,用于建立与服务器之间的网络套接字socket通道;消息接收模块,用于通过所述socket通道接收所述服务器推送的消息;消息处理和应答模块,用于处理所述推送消息并通过所述socket通道返回应答消息。上述方案中,所述装置还包括:http请求模块,用于以http的方式主动发起请求。本专利技术实施例还提供一种网络通信装置,位于服务器,所述装置包括:第二socket模块,用于建立与安卓客户端之间的socket通道;消息推送模块,用于通过所述socket通道向所述安卓客户端推送的消息,直至收到所述安卓客户端返回的应答消息。本专利技术实施例还提供一种安卓客户端,所述客户端包括上述任意一种位于安卓客户端的网络通信装置。本专利技术实施例还提供一种服务器,所述服务器包括上述位于服务器的网络通信装置。本专利技术技术方案的有益效果在于:采用了http+NIO的方式来实现客户端与服务器之间的通信,这种方式带来的好处就是通过把轮询方式改为推送方式来降低对资源的占用,以及随时可以通知客户端去更新信息,既保证了原有的http通信方式又降低了对资源的占用。附图说明图1为现有的网络通信方法的实现流程示意图;图2为本专利技术实施例提供的安卓客户端的网络通信方法的实现流程示意图;图3为本专利技术实施例提供的服务器的网络通信方法的实现流程示意图;图4是本专利技术实施例提供的位于安卓客户端的网络通信装置的组成结构示意图;图5是本专利技术实施例提供的位于服务器的网络通信装置的组成结构示意图;图6为本专利技术实施例1的通信方式的示意图;图7为本专利技术实施例1中客户端以http方式通信的流程示意图;图8为本专利技术实施例1中客户端建立socket通道的流程示意图。具体实施方式为了更清楚地说明本专利技术实施例和技术方案,下面将结合附图及实施例对本专利技术的技术方案进行更详细的说明,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术的实施例,本领域普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术实施例中,处于通信的双方为服务器和安卓客户端,为了满足服务器及时向安卓客户端推送信息的需要,本专利技术提供以下通信方式。图2为本专利技术实施例提供的安卓客户端的网络通信方法的实现流程示意图,如图2所示,该安卓客户端执行以下步骤:步骤101,建立与服务器之间的网络套接字socket通道;步骤102,通过所述socket通道接收所述服务器推送的消息;步骤103,处理所述推送消息并通过所述socket通道返回应答消息。具体的,所述建立与服务器之间的socket通道包括:建立客户端网络套接字,通过该套接字发起心跳请求报文(heartbeatreqeust),直至收到服务器返回的心跳应答报文(heartbeatresponse)。即只要客本文档来自技高网
...

【技术保护点】
一种安卓客户端的网络通信方法,其特征在于,所述方法包括:建立与服务器之间的网络套接字socket通道;通过所述socket通道接收所述服务器推送的消息;处理所述推送消息并通过所述socket通道返回应答消息。

【技术特征摘要】
1.一种安卓客户端的网络通信方法,其特征在于,所述方法包括:
建立与服务器之间的网络套接字socket通道;
通过所述socket通道接收所述服务器推送的消息;
处理所述推送消息并通过所述socket通道返回应答消息。
2.根据权利要求1所述的网络通信方法,其特征在于,所述建立与服务器
之间的socket通道包括:
建立客户端网络套接字,通过该套接字发起心跳请求报文,直至收到服务
器返回的心跳应答报文。
3.根据权利要求1或2所述的网络通信方法,其特征在于,当所述安卓客
户端需要从服务器获取数据时,所述方法还包括:
以http的方式主动发起请求。
4.一种服务器的网络通信方法,其特征在于,所述方法包括:
建立与安卓客户端之间的socket通道;
通过所述socket通道向所述安卓客户端推送的消息,直至收到所述安卓客
户端返回的应答消息。
5.根据权利要求4所述的网络通信方法,其特征在于,所述建立与安卓客
户端之间的socket通道包括:
建立监听套接字,用于监听安卓客户端发来的心...

【专利技术属性】
技术研发人员:张亮
申请(专利权)人:智慧方舟科技有限公司深圳市华讯方舟科技有限公司
类型:发明
国别省市:北京;11

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

1