CN115086263B - Ios终端的im消息发送方法、***、存储介质、计算机设备 - Google Patents
Ios终端的im消息发送方法、***、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN115086263B CN115086263B CN202210865948.8A CN202210865948A CN115086263B CN 115086263 B CN115086263 B CN 115086263B CN 202210865948 A CN202210865948 A CN 202210865948A CN 115086263 B CN115086263 B CN 115086263B
- Authority
- CN
- China
- Prior art keywords
- message
- app
- ios terminal
- keep
- retry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000004083 survival effect Effects 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种IOS终端的IM消息发送方法、***、存储介质、计算机设备,涉及人工智能的技术领域,包括以下步骤:当IOS终端的APP切换到后台时,在所述保活时间内所述APP发送完成正在发送的IM消息,所述保活时间用于供所述APP发送完成正在发送的IM消息;获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息。本发明的IOS终端的IM消息发送方法、***、存储介质、计算机设备能够极大地降低IM消息的收发失败率,且用户无感知,极大地提升了用户体验。
Description
技术领域
本发明涉及人工智能的技术领域,特别是涉及一种IOS终端的IM消息发送方法、***、存储介质、计算机设备。
背景技术
如图1所示,在在线问诊的应用场景中,作为IOS终端的主客端和医生端的问诊功能是基于socket实现的即时通讯(Instant Messaging,IM)。IM允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。
在网络情况良好的情况下,主客端和医生端之间的消息收发都在1秒内完成。但是随着用户数量的剧增,现有在线问诊***会出现各种意外的情况,如有些用户在使用时出现无法即时发出消息或收到消息,消息发送失败率高达0.3%到0.4%,从而严重影响了用户体验。
经分析,IOS终端消息发送失败的原因主要包括以下几种:
(1)由于IOS的特有机制,当用户切换到后台时,APP会挂起,所有正在进行的网络请求都会中断。因此,若消息还没有发送到服务端,就会导致消息发送失败。
(2)由于图片或语音类型的文件较大,需要较长的发送时间。若在发送过程中APP挂起,就会导致消息发送失败。
因此,急需提升IOS终端的IM消息的收发失败率,以满足IOS终端消息收发的实际需求。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种IOS终端的IM消息发送方法、***、存储介质、计算机设备,能够极大地降低IM消息的收发失败率,且用户无感知,极大地提升了用户体验。
为实现上述目的及其他相关目的,本发明提供一种IOS终端的IM消息发送方法,包括以下步骤:当IOS终端的APP切换到后台时,所述IOS终端建立APP保活任务以提供预设时长的保活时间,所述保活时间用于供所述APP发送完成正在发送的IM消息;获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息。
本发明提供一种IOS终端的IM消息发送***,包括:
保活模块,用于当IOS终端的APP切换到后台时,所述IOS终端建立APP保活任务以提供预设时长的保活时间,所述保活时间用于供所述APP发送完成正在发送的IM消息;
重试模块,用于获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息。
本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述IOS终端的IM消息发送方法。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述IOS终端的IM消息发送方法。
如上所述,本发明的IOS终端的IM消息发送方法、***、存储介质、计算机设备,具有以下有益效果:
(1)通过设置APP保活任务和重试机制,能够极大地降低IOS终端之间的IM消息收发失败率;
(2)保活任务的建立和IM消息的重发均在后台进行,用户无感知,极大地提升了用户体验;
(3)对其他接口类的功能也起到了极大的作用,尤其后台保活功能,当APP切换到后台时可以使正在调用的接口有充分的时间执行完成,从而大大降低了接口失败率。
附图说明
图1显示为现有技术中IM消息发送方法于一实施例中的流程图;
图2显示为本发明的IOS终端的IM消息发送方法于一实施例中的流程图;
图3显示为本发明的IOS终端的IM消息发送方法于一实施例中的效果示意图;
图4显示为本发明的IOS终端的IM消息发送***于一实施例中的结构示意图;
图5显示为本发明的计算机设备于一实施例中的结构示意图。
元件标号说明
41 保活模块
42 重试模块
51 处理器/处理单元
52 存储器
521 随机存取存储器
522 高速缓存存储器
523 存储***
524 程序/实用工具
5241 程序模块
53 总线
54 输入/输出接口
55 网络适配器
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的IOS终端的IM消息发送方法、***、存储介质、计算机设备通过设置APP保活任务和重试机制,能够极大地降低IM消息的收发失败率,甚至能将收发失败率降低一个数量级;同时用户对IM消息的发送无感知,极大地提升了用户体验。
如图2所示,于一实施例中,本发明的IOS终端的IM消息发送方法包括以下步骤:
步骤S1、当IOS终端的APP切换到后台时,所述IOS终端建立APP保活任务以提供预设时长的保活时间,所述保活时间用于供所述APP发送完成正在发送的IM消息。
具体地,在IOS终端,退出到后台的APP一般在几秒左右被挂起。不同的设备以及运行状态均可能影响APP的挂起时间。就同一设备而言,不同的运行状态下APP的挂起时间可能在5S到10S之间变化。在本发明中,当APP切换到后台时,为了避免当前的消息发送发生中断,建立一APP保活任务,使得APP能够在保活任务规定的预设时长内仍然能够进行IM消息发送,并在所述保活任务结束时再主动断开socket连接。需要说明的是,增加所述APP保活任务是IOS***所允许的,不会影响APP审核,故具有极强的安全性和可行性。
于本发明一实施例中,所述预设时长设置为30秒。
于本发明一实施例中,建立APP保活任务包括以下步骤:
11)当IOS终端的APP切换到后台时,发送唤醒信息至所述APP。
12)基于所述唤醒信息构建所述APP保活任务,以使所述APP处于存活状态。
优选地,按照预设周期发送唤醒信息至所述APP,使得所述APP一直处于存活状态。
步骤S2、获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息。
于本发明一实施例中,获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息包括以下步骤:
21)获取总超时时长阈值、单次超时时长阈值和重试次数。
具体地,所述IOS终端预先设置有总超时时长阈值、单次超时时长阈值和重试次数。
所述单次超时时长阈值表示IM消息单次发送时的超时时长阈值。即若单次发送时长小于所述所述单次超时时长阈值,则判定该单次发送没有超时;若单次发送时长大于等于所述所述单次超时时长阈值,则判定该单次发送超时。
所述总超时时长阈值表示IM消息多次发送的总时长的超时阈值。即若多次发送时长小于所述总超时时长阈值,则判定该多次发送没有超时;若若多次发送时长大于等于所述总超时时长阈值,则判定该多次发送超时。
所述重试次数表示IM消息在发送失败后能够重新发送的次数。
于本发明一实施例中,所述总超时时长阈值设置为120秒;所述单次超时时长阈值设置为15秒;所述重试次数设置为8次。需要说明的是,上述参数设置可根据不同的应用场景和设备灵活设置,并不限于上述限定。
22)当所述IM消息的单次发送时长大于所述单次超时时长阈值时,重新发送所述IM消息。
具体地,为了保证所述IM消息的有效发送,当所述IM消息的单次发送时长大于15秒时,判定所述IM消息发送超时,需进行重新的发送。需要说明的是,重新发送所述IM消息为***自动进行的,用户无感知,也无需手动操作,并不影响用户的使用体验。
优选地,当所述IM消息的重新发送次数达到预设次数时,令所述APP主动断开socket连接后再重新建立socket连接以进行所述IM消息的重新发送,从而提升所述IM消息发送的成功率。优选地,所述预设次数为3次。
23)记录重新发送的实时次数和累计时长。
具体地,可设置实时次数计数器和累计时长计数器,并根据实际重发次数更新所述实时次数计数器,根据实际发送时长更新所述累计时长计数器。
24)当所述实时次数大于所述重试次数或所述累计时长大于所述总超时时长阈值时,判定所述IM消息发送失败;当所述实时次数小于等于所述重试次数且所述累计时长小于等于所述总超时时长阈值时,重新发送所述IM消息。
具体地,对所述实时次数和所述累计时长进行监测,当所述实时次数大于所述重试次数、所述累计时长大于所述总超时时长阈值这两个条件满足任意一个时,判断所述IM消息发送失败,不再进行重发。
于本发明一实施例中,本发明的IOS终端的IM消息发送方法还包括监听当前网络状态,根据不同的网络状态控制APP的socket连接,以确保所述IM消息的正常发送。具体地,若当前网络状态为断开状态,则令APP断开socket连接。若当前网络状态为连接状态,则令APP重新建立socket连接。当网络状态发生断开并重新连接时,需要APP重新建立socket连接。
于本发明一实施例中,本发明的IOS终端的IM消息发送方法还包括当所述IM消息的类型为图片或语音文件时,设置自动重发机制。具体地,当所述IM消息的类型为图片或语音文件时,容易出现发送失败的情况。因此,本发明针对图片或语音文件的IM消息,自动设置预设次数的重发机制。即当图片或语音文件的IM消息发送失败后,自动进行预设次数的重发,以尽可能提升IM消息的发送成功率。
下面通过具体实施例来进一步阐述本发明的IOS终端的IM消息发送方法。
实施例一
在该实施例中,用户A需要基于智能手机中的微信APP向用户B发送视频信息。当用户A在微信APP中发送视频信息后,用户可退出微信APP。此时,微信APP在后台运行。由于所述视频信息占用存储空间较大,故微信APP需在后台继续进行所述视频信息的发送。首先,建立一APP保活任务以提供30s的保活时间。即,在30s内微信APP仍可在后台进行所述视频信息的发送。若所述视频信息发送失败,则进行重新发送。若在60s之内仍未发送成功或重新发送3次仍未发送成功,则停止所述视频信息的重新发送。
实施例二
在该实施例中,用户A需要基于智能手机中的飞书APP向用户B发送图像信息。当用户A在飞书APP中发送图像信息后,用户可退出飞书APP。此时,飞书APP在后台运行。由于所述图像信息占用存储空间较大,故飞书APP需在后台继续进行所述图像信息的发送。首先,建立一APP保活任务以提供20s的保活时间。即,在20s内飞书APP仍可在后台进行所述图像信息的发送。若所述图像信息发送失败,则进行重新发送。若在40s之内仍未发送成功或重新发送3次仍未发送成功,则停止所述图像信息的重新发送。
实施例三
在该实施例中,用户A需要基于智能手机中的QQAPP向用户B发送音频信息。当用户A在QQAPP中发送音频信息后,用户可退出QQAPP。此时,QQAPP在后台运行。由于所述音频信息占用存储空间较大,故QQAPP需在后台继续进行所述音频信息的发送。首先,建立一APP保活任务以提供20s的保活时间。即,在20s内QQAPP仍可在后台进行所述音频信息的发送。若所述音频信息发送失败,则进行重新发送。若在60s之内仍未发送成功或重新发送5次仍未发送成功,则停止所述音频信息的重新发送。
如图3所示,对于两个IOS终端,如医生端和主客端之间的IM消息发送,采用本发明的IOS终端的IM消息发送方法可有效降低IM消息发送的失败率,能够满足实际应用场景的需求,且医生端和主客端均无感知。
需要说明的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
如图4所示,于一实施例中,本发明的IOS终端的IM消息发送***包括:
保活模块41,用于当IOS终端的APP切换到后台时,所述IOS终端建立APP保活任务以提供预设时长的保活时间,所述保活时间用于供所述APP发送完成正在发送的IM消息。
具体地,在IOS终端,退出到后台的APP一般在几秒左右被挂起。不同的设备以及运行状态均可能影响APP的挂起时间。就同一设备而言,不同的运行状态下APP的挂起时间可能在5S到10S之间变化。在本发明中,当APP切换到后台时,为了避免当前的消息发送发生中断,建立一APP保活任务,使得APP能够在保活任务规定的预设时长内仍然能够进行IM消息发送,并在所述保活任务结束时再主动断开socket连接。需要说明的是,增加所述APP保活任务是IOS***所允许的,不会影响APP审核,故具有极强的安全性和可行性。
于本发明一实施例中,所述预设时长设置为30秒。
于本发明一实施例中,建立APP保活任务包括以下步骤:
11)当IOS终端的APP切换到后台时,发送唤醒信息至所述APP。
12)基于所述唤醒信息构建所述APP保活任务,以使所述APP处于存活状态。
优选地,按照预设周期发送唤醒信息至所述APP,使得所述APP一直处于存活状态。
步骤S2、获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息。
于本发明一实施例中,获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息包括以下步骤:
21)获取总超时时长阈值、单次超时时长阈值和重试次数。
具体地,所述IOS终端预先设置有总超时时长阈值、单次超时时长阈值和重试次数。
所述单次超时时长阈值表示IM消息单次发送时的超时时长阈值。即若单次发送时长小于所述所述单次超时时长阈值,则判定该单次发送没有超时;若单次发送时长大于等于所述所述单次超时时长阈值,则判定该单次发送超时。
所述总超时时长阈值表示IM消息多次发送的总时长的超时阈值。即若多次发送时长小于所述总超时时长阈值,则判定该多次发送没有超时;若若多次发送时长大于等于所述总超时时长阈值,则判定该多次发送超时。
所述重试次数表示IM消息在发送失败后能够重新发送的次数。
于本发明一实施例中,所述总超时时长阈值设置为120秒;所述单次超时时长阈值设置为15秒;所述重试次数设置为8次。需要说明的是,上述参数设置可根据不同的应用场景和设备灵活设置,并不限于上述限定。
22)当所述IM消息的单次发送时长大于所述单次超时时长阈值时,重新发送所述IM消息。
具体地,为了保证所述IM消息的有效发送,当所述IM消息的单次发送时长大于15秒时,判定所述IM消息发送超时,需进行重新的发送。需要说明的是,重新发送所述IM消息为***自动进行的,用户无感知,也无需手动操作,并不影响用户的使用体验。
优选地,当所述IM消息的重新发送次数达到预设次数时,令所述APP主动断开socket连接后再重新建立socket连接以进行所述IM消息的重新发送,从而提升所述IM消息发送的成功率。优选地,所述预设次数为3次。
23)记录重新发送的实时次数和累计时长。
具体地,可设置实时次数计数器和累计时长计数器,并根据实际重发次数更新所述实时次数计数器,根据实际发送时长更新所述累计时长计数器。
24)当所述实时次数大于所述重试次数或所述累计时长大于所述总超时时长阈值时,判定所述IM消息发送失败;当所述实时次数小于等于所述重试次数且所述累计时长小于等于所述总超时时长阈值时,重新发送所述IM消息。
具体地,对所述实时次数和所述累计时长进行监测,当所述实时次数大于所述重试次数、所述累计时长大于所述总超时时长阈值这两个条件满足任意一个时,判断所述IM消息发送失败,不再进行重发。
于本发明一实施例中,本发明的IOS终端的IM消息发送***还包括监听模块,用于监听当前网络状态,根据不同的网络状态控制APP的socket连接,以确保所述IM消息的正常发送。具体地,若当前网络状态为断开状态,则令APP断开socket连接。若当前网络状态为连接状态,则令APP重新建立socket连接。当网络状态发生断开并重新连接时,需要APP重新建立socket连接。
于本发明一实施例中,本发明的IOS终端的IM消息发送***还包括设置模块,用于当所述IM消息的类型为图片或语音文件时,设置自动重发机制。具体地,当所述IM消息的类型为图片或语音文件时,容易出现发送失败的情况。因此,本发明针对图片或语音文件的IM消息,自动设置预设次数的重发机制。即当图片或语音文件的IM消息发送失败后,自动进行预设次数的重发,以尽可能提升IM消息的发送成功率。
需要说明的是,本发明的IOS终端的IM消息发送***可以运行于个人移动终端,也可以运行于服务器,其可以是以一种程序的形式在上述设备中运行,也可以作为上述设备中的***部件进行运行,还可以作为云端服务程序的一种,具体运作模式因实际场景而定,此处不做限定。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
本发明的计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的IOS终端的IM消息发送方法的步骤。优选地,所述存储介质包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
可以采用一个或多个存储介质的任意组合。存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
于一实施例中,本发明的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述IOS终端的IM消息发送方法的步骤。
所述存储器包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
所述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图5所示,本发明的计算机设备以通用计算设备的形式表现。计算机设备的组件可以包括但不限于:一个或者多个处理器或者处理单元51,存储器52,连接不同***组件(包括存储器52和处理单元51)的总线53。
总线53表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器52可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)521和/或高速缓存存储器522。计算机设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***523可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线53相连。存储器52可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块5241的程序/实用工具524,可以存储在例如存储器52中,这样的程序模块5241包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5241通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该计算机设备交互的设备通信,和/或与使得该计算机设备能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口54进行。并且,计算机设备还可以通过网络适配器55与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器55通过总线53与计算机设备的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
综上所述,本发明的IOS终端的IM消息发送方法、***、存储介质、计算机设备通过设置APP保活任务和重试机制,能够极大地降低IOS终端之间的IM消息收发失败率;保活任务的建立和IM消息的重发均在后台进行,用户无感知,极大地提升了用户体验;对其他接口类的功能也起到了极大的作用,尤其后台保活功能,当APP切换到后台时可以使正在调用的接口有充分的时间执行完成,从而大大降低了接口失败率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (9)
1.一种IOS终端的IM消息发送方法,其特征在于,包括以下步骤:
当IOS终端的APP切换到后台时,所述IOS终端建立APP保活任务以提供预设时长的保活时间,所述保活时间用于供所述APP发送完成正在发送的IM消息;
获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息;
其中,获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息包括以下步骤:
获取总超时时长阈值、单次超时时长阈值和重试次数;
当所述IM消息的单次发送时长大于所述单次超时时长阈值时,重新发送所述IM消息;
记录重新发送的实时次数和累计时长;
当所述实时次数大于所述重试次数或所述累计时长大于所述总超时时长阈值时,判定所述IM消息发送失败;
当所述实时次数小于等于所述重试次数且所述累计时长小于等于所述总超时时长阈值时,重新发送所述IM消息。
2.根据权利要求1所述的IOS终端的IM消息发送方法,其特征在于,所述IOS终端建立APP保活任务以提供预设时长的保活时间包括以下步骤:
当IOS终端的APP切换到后台时,发送唤醒信息至所述APP;
基于所述唤醒信息构建所述APP保活任务,以使所述APP处于存活状态。
3.根据权利要求2所述的IOS终端的IM消息发送方法,其特征在于,当APP切换到后台时,发送唤醒信息至所述APP包括:按照预设周期发送唤醒信息至所述APP。
4.根据权利要求1所述的IOS终端的IM消息发送方法,其特征在于,所述IOS终端的IM消息发送方法还包括:当所述IM消息的重新发送次数达到预设次数时,令所述APP主动断开socket连接后再重新建立socket连接,以进行所述IM消息的重新发送。
5.根据权利要求1所述的IOS终端的IM消息发送方法,其特征在于,所述IOS终端的IM消息发送方法还包括:监听当前网络状态,根据不同的网络状态控制APP的socket连接。
6.根据权利要求1所述的IOS终端的IM消息发送方法,其特征在于,所述IOS终端的IM消息发送方法还包括:当所述IM消息的类型为图片或语音文件时,设置自动重发机制。
7.一种IOS终端的IM消息发送***,其特征在于,包括:
保活模块,用于当IOS终端的APP切换到后台时,所述IOS终端建立APP保活任务以提供预设时长的保活时间,所述保活时间用于供所述APP发送完成正在发送的IM消息;
重试模块,用于获取重试参数,当所述IM消息发送失败时,基于所述重试参数重新发送所述IM消息;
所述IOS终端的IM消息发送***还用于
获取总超时时长阈值、单次超时时长阈值和重试次数;
当所述IM消息的单次发送时长大于所述单次超时时长阈值时,重新发送所述IM消息;
记录重新发送的实时次数和累计时长;
当所述实时次数大于所述重试次数或所述累计时长大于所述总超时时长阈值时,判定所述IM消息发送失败;
当所述实时次数小于等于所述重试次数且所述累计时长小于等于所述总超时时长阈值时,重新发送所述IM消息。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一所述IOS终端的IM消息发送方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一所述IOS终端的IM消息发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865948.8A CN115086263B (zh) | 2022-07-22 | 2022-07-22 | Ios终端的im消息发送方法、***、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865948.8A CN115086263B (zh) | 2022-07-22 | 2022-07-22 | Ios终端的im消息发送方法、***、存储介质、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086263A CN115086263A (zh) | 2022-09-20 |
CN115086263B true CN115086263B (zh) | 2024-04-05 |
Family
ID=83243314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210865948.8A Active CN115086263B (zh) | 2022-07-22 | 2022-07-22 | Ios终端的im消息发送方法、***、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086263B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104145466A (zh) * | 2012-02-24 | 2014-11-12 | 诺基亚公司 | 用于动态服务器/客户端控制的连通性逻辑的方法和装置 |
CN108768595A (zh) * | 2018-05-16 | 2018-11-06 | 中国科学院信息工程研究所 | 基于Android的移动终端实时新消息的监听转发方法及*** |
CN110928586A (zh) * | 2019-11-15 | 2020-03-27 | 上海银基信息安全技术股份有限公司 | App后台保活方法及装置 |
CN111782431A (zh) * | 2020-06-22 | 2020-10-16 | 深圳乐信软件技术有限公司 | 一种异常的处理方法、装置、终端及存储介质 |
CN112769876A (zh) * | 2019-10-21 | 2021-05-07 | 浙江宇视科技有限公司 | 一种设备通道信息获取方法、装置、设备和介质 |
CN112887416A (zh) * | 2021-02-04 | 2021-06-01 | 浙江大华技术股份有限公司 | 发送保活包的频率调整方法及装置 |
CN112951241A (zh) * | 2021-01-29 | 2021-06-11 | 思必驰科技股份有限公司 | 用于ios的拾音识别方法及*** |
CN113890894A (zh) * | 2021-10-19 | 2022-01-04 | 平安普惠企业管理有限公司 | 客户端通信链路保活方法、装置、电子设备及存储介质 |
-
2022
- 2022-07-22 CN CN202210865948.8A patent/CN115086263B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104145466A (zh) * | 2012-02-24 | 2014-11-12 | 诺基亚公司 | 用于动态服务器/客户端控制的连通性逻辑的方法和装置 |
CN108768595A (zh) * | 2018-05-16 | 2018-11-06 | 中国科学院信息工程研究所 | 基于Android的移动终端实时新消息的监听转发方法及*** |
CN112769876A (zh) * | 2019-10-21 | 2021-05-07 | 浙江宇视科技有限公司 | 一种设备通道信息获取方法、装置、设备和介质 |
CN110928586A (zh) * | 2019-11-15 | 2020-03-27 | 上海银基信息安全技术股份有限公司 | App后台保活方法及装置 |
CN111782431A (zh) * | 2020-06-22 | 2020-10-16 | 深圳乐信软件技术有限公司 | 一种异常的处理方法、装置、终端及存储介质 |
CN112951241A (zh) * | 2021-01-29 | 2021-06-11 | 思必驰科技股份有限公司 | 用于ios的拾音识别方法及*** |
CN112887416A (zh) * | 2021-02-04 | 2021-06-01 | 浙江大华技术股份有限公司 | 发送保活包的频率调整方法及装置 |
CN113890894A (zh) * | 2021-10-19 | 2022-01-04 | 平安普惠企业管理有限公司 | 客户端通信链路保活方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115086263A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474688B (zh) | 即时通信网络请求消息的发送方法、装置、设备和介质 | |
US10530716B2 (en) | Voice chat mode self-adapting method and apparatus | |
CN110971922B (zh) | 直播连麦状态监控方法、客户端、服务器、介质及*** | |
CN110839084A (zh) | 会话管理方法、装置、设备和介质 | |
CN104866290A (zh) | 一种用于数据传输的方法和装置 | |
CN111790159B (zh) | 数据处理的方法、装置、设备及计算机可读存储介质 | |
US9749825B2 (en) | Connection-oriented messaging and signaling in mobile heath networks | |
CN112769876B (zh) | 一种设备通道信息获取方法、装置、设备和介质 | |
CN115086263B (zh) | Ios终端的im消息发送方法、***、存储介质、计算机设备 | |
WO2020177731A1 (zh) | 一种寄宿应用间的即时通讯方法 | |
CN112887420A (zh) | 消息推送方法和装置、计算机可读存储介质、电子设备 | |
CN114567536B (zh) | 异常数据处理方法、装置、电子设备和存储介质 | |
CN115934378A (zh) | 业务数据处理方法、装置、电子设备和存储介质 | |
CN114286039A (zh) | 一种音视频通话方法及*** | |
CN113259404B (zh) | 基于tcp/ip协议的工业通信中间件及其使用方法 | |
CN111290873B (zh) | 故障处理方法和装置 | |
CN114244700A (zh) | 端口处理方法及装置、电子设备和计算机可读存储介质 | |
CN111385167B (zh) | 网络连接恢复方法、装置、计算机装置及存储介质 | |
CN110365839B (zh) | 关机方法、装置、介质及电子设备 | |
CN102752743B (zh) | 移动设备信息处理方法、装置和*** | |
CN112615916A (zh) | 文件部署方法、装置、电子设备以及存储介质 | |
CN110798398A (zh) | 群组消息管理方法、装置、设备和介质 | |
CN110764932A (zh) | 数据处理方法、***、介质和计算设备 | |
CN117793418B (zh) | 一种第三方媒体直播的监控方法、装置、设备和存储介质 | |
CN115242972B (zh) | 一种应用调用摄像头的方法和装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |