IOS系统中长连接网络数据分发及处理方法和系统技术方案

技术编号:19242682 阅读:147 留言:0更新日期:2018-10-24 05:22
本发明专利技术公开了一种IOS系统中长连接网络数据分发及处理方法和系统,涉及通信控制技术领域领域,方法包括:使用C++代码编写IOS系统客户端的网络接口层进行长连接的网络数据的收发;对接收到的网络数据进行解密和解包;将C++层网络接收到的网络数据传递到应用层的object‑c代码层;将网络数据由object‑c代码层推送到IOS的应用层中。应用层只需要处理消息类型的分发及对不同的消息类型进行处理,而对于接受消息,解密消息则都由C++底层代码来实现,总的结果就是使得IOS应用层的开发过程变得简单,效率提升。另一方面,使用C++代码来编写可以提供跨系统平台的特性,其可以使用在如Android、Windows、linux、IOS等系统平台上。对应的还公开了对应的系统。

【技术实现步骤摘要】
IOS系统中长连接网络数据分发及处理方法和系统
本专利技术属于一种通信控制
,更具体的涉及一种在IOS系统平台上进行长连接的网络数据的分发及处理方法。
技术介绍
目前,随着苹果公司IOS(iMac)智能手机的普及,对应的适应于IOS系统的应用程序也越来越丰富了。程序的功能越来越多,也必定意味着着程序的复杂性也越来越高。具体的,对于IOS设备来说,其设备硬件是受限制的,所以对于IOS系统的程序开发人员来说,需要不断的优化其性能,提高其执行效率。任何一个IOS应用程序,都会有网络通信功能,具体对于网络直播APP而言,一个典型的网络通信功能就是通过网络通信来收发弹幕消息。对于消息量非常大的应用(比如现在非常火爆的网络视频直播应用),因为网络通信的数据量非常大,所以优化其网络消息的接收分发及处理过程,提高程序中代码的执行效率,特别是对于现实环境下,多种系统(IOS苹果系统,Android安卓系统,Windows系统)共存于同一个网络中,提高相对比封闭的IOS苹果系统的应用程序的协作能力和跨平台的能力,对于应用开发者来说是非常重要。对于长连接的网络数据,其适用于TCP网络连接(四层模型,第四层应用层、第三层传输层、第二层网络层和第一层网络接口)来接收消息和发送消息并进行处理,然后由于IOS系统使用的object-c代码是比较封闭的,其在长连接的网络数据分发过程中会使得程序的开发过程比较低效。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种IOS系统中长连接网络数据分发及处理方法和系统来解决现有技术的缺陷。本专利技术通过将长连接的网络使用C++语言来编写及处理,收到消息时C++代码对消息进行解密,发送消息时C++代码来对消息进行打包处理,并且使用socket来发送。通过使用C++代码来编写可以提供跨系统平台的特性,其可以使用在如Android、Windows、linux、IOS等系统平台上。同时使用C++代码也可以更高效的处理代码。尤其对于网络消息通常都是加密的,所以使用C++代码则可以高效的解密加密。C++解密完消息后再对消息进行解码出各个字段,然后将解密的字段推送给IOS应用层代码中。为达到以上目的,本专利技术采取的技术方案是:本专利技术提供一种IOS系统中长连接网络数据分发及处理方法,用于在客户端和服务器之间进行长连接的网络数据分发和处理,其特征在于,包括以下步骤:使用C++代码编写IOS系统客户端的网络接口层进行长连接的网络数据的收发;对接收到的网络数据进行解密和解包;将C++层网络接收到的网络数据传递到应用层的object-c代码层;将网络数据由object-c代码层推送到IOS的应用层中。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征,网络接口层进行长连接的网络数据的收发包括以下过程:在接收和分发网络数据的客户端和服务器之间创建网络socket,设置网络socket的IP地址和端口号,客户端与服务器进行连接,使用线程函数来接收和发送网络数据。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征,所述线程函数由IOS系统自带的API函数pthread_create来创建。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征,所述线程函数接收和发送网络数据的步骤包括:对网络socket的事件进行监听,根据监听的情况,使用seletct函数来判断当前的网络socket是可读状态还是可写状态,当判断为可读状态时,通过recv函数来接收服务器发来的网络数据,当判断为可写状态时,通过send函数来发送网络数据到服务器。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征,解密和解包的具体过程为:使用加解密算法TEA进行解密,解密完成后进行解析操作,解析出该网络数据对应的消息类型以及信息内容。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征:当消息的内容时服务器错误时,则网络socket会进行网络重连;当消息的内容为其他内容时,则经由应用层的object-c代码层被推送到IOS的应用层中。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征:将C++层网络接收到的网络数据传递到应用层的object-c代码层的过程是由IOS系统自带的回调函数callback和Push函数实现的。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征:网络数据被推送到IOS的应用层后,应用层根据信息的类型分发到不同的模块来处理。本专利技术提供的IOS系统中长连接网络数据分发及处理方法,还可以具有这样的特征:所述客户端为网络直播客户端,所述服务器为网络直播服务器,所述应用层为网络直播平台,当消息类型为弹幕类型时,应用层会将该弹幕放到应用层的弹幕显示区域进行显示,当消息类型为礼物类型时,应用层会将该礼物放到应用层的礼物显示区域进行显示,当消息类型为连麦类型时,应用层会弹出连麦设置,开始连麦功能。本专利技术还提供一种IOS系统中长连接网络数据分发及处理系统,其特征在于,包括:网络接口模块,用于构建C++代码的网络接口进行长连接的网络数据的收发;解密解包模块,对接收到的网络数据进行解密和解包;传递模块,用于将C++层网络接收到的网络数据传递到应用层的object-c代码层;推送模块,用于将网络数据由object-c代码层推送到IOS的应用层中。本专利技术的作用和效果在于:根据本专利技术提供的IOS系统中长连接网络数据分发及处理方法,因为具有以下步骤:使用C++代码编写IOS系统客户端的网络接口层进行长连接的网络数据的收发;对接收到的网络数据进行解密和解包;将C++层网络接收到的网络数据传递到应用层的object-c代码层;将网络数据由object-c代码层推送到IOS的应用层中,也就是说,应用层只需要处理消息类型的分发及对不同的消息类型进行处理,而对于接受消息,解密消息则都由C++底层代码来实现,总的结果就是使得IOS应用层的开发过程变得简单,效率提升。另一方面,使用C++代码来编写可以提供跨系统平台的特性,其可以使用在如Android、Windows、linux、IOS等系统平台上。附图说明图1为本专利技术的实施例中的IOS系统中长连接网络数据分发及处理方法的步骤示意图;图2是本专利技术的实施例中网络接口层进行长连接的网络数据的收发步骤示意图;图3是本专利技术的实施例中线程函数接收和发送网络数据的步骤示意图;以及图4是本专利技术的实施例中IOS系统中长连接网络数据分发及处理系统的结构示意图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本专利技术的IOS系统中长连接网络数据分发及处理方法和系统的组成、结构、连接关系、具体工作流程以及工作原理、作用和效果做具体阐述作具体阐述。以下以
技术介绍
中的网络直播中,直播服务器通过网络通信对客户端进行长连接(长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包)来发送网络数据的情况进行详细说明。实施例1图1为本专利技术的实施例中的IOS系统中长连接网络数据分发及处理方本文档来自技高网
...

【技术保护点】
1.IOS系统中长连接网络数据分发及处理方法,用于在客户端和服务器之间进行长连接的网络数据分发和处理,其特征在于,包括以下步骤:使用C++代码编写IOS系统客户端的网络接口层进行长连接的网络数据的收发;对接收到的网络数据进行解密和解包;将C++层网络接收到的网络数据传递到应用层的object‑c代码层;将网络数据由object‑c代码层推送到IOS的应用层中。

【技术特征摘要】
1.IOS系统中长连接网络数据分发及处理方法,用于在客户端和服务器之间进行长连接的网络数据分发和处理,其特征在于,包括以下步骤:使用C++代码编写IOS系统客户端的网络接口层进行长连接的网络数据的收发;对接收到的网络数据进行解密和解包;将C++层网络接收到的网络数据传递到应用层的object-c代码层;将网络数据由object-c代码层推送到IOS的应用层中。2.根据权利要求1所述的IOS系统中长连接网络数据分发及处理方法,其特征在于:其中,网络接口层进行长连接的网络数据的收发包括以下过程在接收和分发网络数据的客户端和服务器之间创建网络socket,设置网络socket的IP地址和端口号,客户端与服务器进行连接,使用线程函数来接收和发送网络数据。3.根据权利要求2所述的IOS系统中长连接网络数据分发及处理方法,其特征在于:其中,所述线程函数由IOS系统自带的API函数pthread_create来创建。4.根据权利要求3所述的IOS系统中长连接网络数据分发及处理方法,其特征在于:其中,所述线程函数接收和发送网络数据的步骤包括对网络socket的事件进行监听,根据监听的情况,使用seletct函数来判断当前的网络socket是可读状态还是可写状态,当判断为可读状态时,通过recv函数来接收服务器发来的网络数据,当判断为可写状态时,通过send函数来发送网络数据到服务器。5.根据权利要求1所述的IOS系统中长连接网络数据分发及处理方法,其特征在于:其中,解密和解包的具体过程为使用加解密算法TEA进行解密,解密完成后进行解析操作,解析出...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1