CN111200552B - 一种即时通讯方法及其装置、设备和存储介质 - Google Patents

一种即时通讯方法及其装置、设备和存储介质 Download PDF

Info

Publication number
CN111200552B
CN111200552B CN201811369556.2A CN201811369556A CN111200552B CN 111200552 B CN111200552 B CN 111200552B CN 201811369556 A CN201811369556 A CN 201811369556A CN 111200552 B CN111200552 B CN 111200552B
Authority
CN
China
Prior art keywords
key value
expression picture
expression
instant messaging
module
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
Application number
CN201811369556.2A
Other languages
English (en)
Other versions
CN111200552A (zh
Inventor
梁文涛
叶亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811369556.2A priority Critical patent/CN111200552B/zh
Publication of CN111200552A publication Critical patent/CN111200552A/zh
Application granted granted Critical
Publication of CN111200552B publication Critical patent/CN111200552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Abstract

本申请实施例提供一种即时通讯方法及其装置和存储介质,其中,所述方法包括:从自身的即时通讯对话界面的输入框获取表情图片;当接收到发送指令时,基于本地存储的表情图片和关键值的对应关系,确定所述表情图片对应的关键值;将所述关键值确定为即时通讯消息的消息值;按照预设的传输协议发送所述即时通讯消息。

Description

一种即时通讯方法及其装置、设备和存储介质
技术领域
本申请涉及通信技术领域,涉及但不限于一种即时通讯方法及其装置、设备和存储介质。
背景技术
随着互联网技术和无线通信技术的发展,人们除了通过常规的面授学习方式之外,还可以通过网络课堂进行学习。在在线课堂的教育场景下,课前和课后平台都给师生双方提供了强大的实时互动能力。在使用网络套接字 (WebSocket)协议进行通信时,往往希望传输包体小、传输速度快,以达到实时感更强的效果,因此,师生的交流一般采用文字形式进行交流。但是,师生双方仅能进行文字交流,不能真实地表达出双方的意图,必须配以表情、图片、课程包等符合当前场景的信息,才能让双方的交流更加有效。目前,在传输表情、图片以及课程包等即时通讯消息时,容易造成传输数量过大,从而导致服务器压力过载。
发明内容
有鉴于此,本申请实施例期望提供一种即时通讯方法及其装置、设备和存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种即时通讯方法,所述方法包括:
从自身的即时通讯对话界面的输入框获取表情图片;
当接收到发送指令时,基于本地存储的表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
将所述关键值确定为即时通讯消息的消息值;
按照预设的传输协议发送所述即时通讯消息。
本申请实施例再提供一种即时通讯方法,所述方法包括:
从自身的即时通讯对话界面的输入框中获取输入内容;
当接收到发送指令,且所述输入内容中包括表情图片时,确定所述表情图片对应的关键值;
根据所述关键值和输入内容,确定待发送的即时通讯消息;
按照预设的传输协议发送所述即时通讯消息。
本申请实施再提供一种在在线教育场景中进行信息传递的方法,所述方法包括:
当自身当前运行的应用为在线教育应用时,基于与目标对象进行信息传递的第四操作指令,输出进行信息传递的对话界面;
当在所述对话界面上检测到用于打开表情框的第一操作指令时,获取表情图片与关键值之间的对应关系;
当检测到用于选择表情的第二操作指令时,基于所述对应关系在所述对话界面的输入框输出所述第二操作指令对应的表情图片;
当接收到发送指令,且所述输入框中的输入内容中包括表情图片时,根据所述输入内容和所述表情图片对应的第一关键值,发送待发送的信息;
当接收到的信息中包括表情类型对应的第二关键值时,基于所述对应关系,在所述对话界面的消息展示框输出包含所述第二关键值对应的表情图片的信息。
本申请实施例提供一种即时通讯装置,所述即时通讯装置包括:第一获取模块、第一确定模块、第二确定模块、第一发送模块、解析模块、第一获取模块和第一输出模块,其中:
所述第一获取模块,用于从自身的即时通讯对话界面的输入框中获取输入内容;
所述第一确定模块,用于当接收到发送指令时,且所述输入内容中包括表情图片时,确定所述表情图片对应的关键值;
所述第二确定模块,用于根据所述关键值和输入内容,确定待发送的即时通讯消息;
所述第一发送模块,用于按照预设的传输协议发送所述即时通讯消息;
所述解析模块,用于对接收到的即时通讯消息进行解析,得到解析结果;
所述第一获取模块,用于当所述解析结果表明所述即时通讯消息中包括表情类型对应的关键值时,获取所述关键值对应的表情图片;
所述第一输出模块,用于输出所述表情图片。
本申请实施例提供一种存储介质,所述存储介质上存储有可执行计算机程序,所述可执行计算机程序被处理器执行时实现如上所述的即时通讯方法或者如上所述的在在线教育场景中的信息传递方法的步骤。
本申请实施例提供一种即时通讯方法及其装置和存储介质,其中,首先从自身的即时通讯对话界面的输入框获取表情图片;当接收到发送指令时,基于本地存储的表情图片和关键值的对应关系,确定所述表情图片对应的关键值;将所述关键值确定为即时通讯消息的消息值;按照预设的传输协议发送所述即时通讯消息;如此,通过在传输表情图片时,传输表情的关键值,能够极大的减少数据量,进而实现轻量数据传输,提高传输速度且能够减轻服务器的压力。
附图说明
图1a为本申请实施例一网络架构的示意图;
图1b为本申请实施例又一网络架构的示意图;
图2a为本申请实施例即时通讯方法的实现流程示意图;
图2b为本申请实施例即时通讯方法的又一实现流程示意图;
图3a为本申请实施例即时通讯方法的再一实现流程示意图;
图3b为本申请实施例即时通讯方法实现流程及对应发送端与接收端的界面示意图;
图3c为本申请实施例在线教育场景中进行信息传递的方法的实现流程示意图;
图4为本申请实施例用户打开私信窗口选择表情的示意图;
图5为本申请实施例用户选择表情后输出表情图片的界面示意图;
图6为用户发送表情图片的之后的界面示意图;
图7为本申请实施例即时通讯装置的组成结构示意图;
图8为本申请实施例即时通讯设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
首先对相关技术中传输包括表情、图片以及课程包的即时通讯技术进行说明。
由于图片与课程包无法进行压缩,而目前传输表情的方案包括以下两种:
第一种方案:通过传输表情base64编码;
第二种方案:本地上传表情到图片服务器,获取图片的统一资源定位符 (UniformResource Locator,URL)后传输图片的URL。
在利用第一种方案传输表情时,虽然传输前后不需要作多重步骤处理数据,但是base64格式数据量大,不适合WebSocket实时、轻量数据传输的场景。
在利用第二个方案传输表情时,上传到图片服务器的等待时延不确定,而且传输URL虽然数据量不大,但是仍有优化空间。
除非另有定义,本申请所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
传输协议(Communications Protocol):是一种通信协议,为了交换大量信息,通信系统规定了使用通用格式(协议),即为传输协议。传输协议中的每条信息都有明确的意义使得预定位置给予响应,并独立生效回馈指定行为,传输协议须参与实体都同意才能生效。为了达成一致,协议必须要有技术标准。
WebSocket协议:是一种在单个传输控制协议(Transmission Control Protocol,TCP)连接上进行全双工通讯的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket应用程序编程接口(Application Programming Interface,API)中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
图1a为本申请实施例一网络架构的示意图,如图1a所示,该网络架构包括发送端101和接收端102,其中,发送端101和接收方终端102中都安装有可以进行即时通讯的应用程序。在其他实施例中,该应用程序还可以有其他功能并且还可以进行即时通讯的应用程序,例如可以是在线课堂应用程序。
当发送端101和接收端102都通过在线课堂应用程序播放教学视频时,可以通过在线课堂应用程序的即时通讯功能对教学内容进行交流,例如可以互相发送文本、或者推荐的课程包、表情、图片等即时通讯消息,在发送端101给接收端102发送包含表情的即时通讯消息时,表情图片是以关键值的形式发送的,关键值可以是十进制、二进制或十六进制的数字,这样在发送表情时可以只是发送关键值,从而实现轻量数据传输。接收端102在接收到发送端101发送的即时通讯消息后,对即时通讯消息进行解析,获取即时通讯消息中包含的表征表情的关键值,再根据关键值确定对应的表情图片,从而输出表情图片。
图1b为本申请实施例又一网络架构的示意图,如图1b所示,该网络架构包括发送方终端111、服务器112和接收端113,同样地,发送端111和接收方终端113中安装有可以进行即时通讯的应用程序,该应用程序可以是仅用作即时通讯的应用程序,还可以有其他功能并且还可以进行即时通讯的应用程序,例如可以是在线课堂应用程序。发送端111通过网络112连接服务器112,网络112可以是广域网或者局域网,又或者是二者的组合,一般使用无线链路实现数据传输。同样地,接收端113也通过网络112连接服务器112,由此,发送方终端111与接收端113可以通过服务器112进行数据传输。
在本实施例提供的网络架构中,在发送端111给接收端113发送包含表情的即时通讯消息时,表情图片是以关键值的形式发送的,关键值可以是十进制、二进制或十六进制的数字,发送端将包含有表情关键值的即时通讯消息发送给服务器112,然后再由服务器112将包含有表情关键值的即时通讯消息发送给 113,从而实现轻量数据传输,减少服务器压力。接收端113在接收到服务器 112发送的即时通讯消息后,对即时通讯消息进行解析,获取即时通讯消息中包含的表征表情的关键值,再根据关键值确定对应的表情图片,从而输出表情图片。
需要说明的是,在实际实现过程中,服务器112可以是一台服务器,也可以是由多台服务器构成的服务器集群、云计算中心等等,在此不加以限定。
结合图1a和图1b所示的网络架构示意图,以下对即时通讯方法及即时通讯装置、设备的各实施例进行说明。
本实施例提供一种即时通讯方法,图2a为本申请实施例即时通讯方法的实现流程示意图,如图2a所示,所述方法包括以下步骤:
步骤S201,从自身的即时通讯对话界面的输入框获取表情图片。
这里,所述步骤S201可以是由终端实现的,该终端例如可以是移动电话、平板电脑、笔记本电脑等具有无线通信能力的移动终端,还可以是具有计算能力的台式计算机、桌面电脑等不便移动的终端。在本实施例中,所述终端是作为发送端的。
终端中安装有可以进行即时通讯的应用程序。在其他实施例中,该应用程序还可以有其他功能并且还可以进行即时通讯的应用程序,例如可以是在线课堂应用程序、购物应用程序、视频播放应用程序等等。
步骤S202,当接收到发送指令时,基于本地存储的表情图片和关键值的对应关系,确定所述表情图片对应的关键值。
这里,所述步骤S202可以是由终端实现的。在其他实施例中,在所述步骤 S202之前,所述终端基于用户的发出的用于打开表情框的第一操作指令,获取本地存储的用于表征表情图片的URL和关键值之间的映射关系的映射关系表,然后再加载所述表情图片的URL,以得到本地存储的表情图片;进而根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系,这样,当接收到发送指令时,基于本地存储的表情图片和关键值的对应关系,确定所述表情图片对应的关键值。
步骤S203,将所述关键值确定为即时通讯消息的消息值。
这里,所述步骤S203可以是由终端实现的。
所述步骤S203在实现时,可以是将即时通讯消息的消息值由表情图片更新为所述关键值。
步骤S204,按照预设的传输协议发送所述即时通讯消息。
这里,所述步骤S204可以是由终端实现的。
在实际应用过程中,所述步骤S204在实现时,可以是终端按照预设的传输协议将所述即时通讯消息发送给服务器,再由服务器将所述即时通讯消息发送给接收端,这样,由于即时通讯消息中表情是用关键值来表征的,能极大的减少传输数据量,从而实现轻量数据传输,进而提高传输速度,且能够减轻服务器压力。
在其他实施例中,如果发送端和接收端建立有直接的通讯连接,那么发送端可以将待发送的即时通讯消息直接发送给接收端,由于发送端发送的即时通讯消息中是用关键值来代表表情的,这样数据量小,从而能够提高传输速度。
在本实施例提供的即时通讯方法中,首先从自身的即时通讯对话界面的输入框获取表情图片;当接收到发送指令时,基于本地存储的表情图片和关键值的对应关系,确定所述表情图片对应的关键值;将所述关键值确定为即时通讯消息的消息值;按照预设的传输协议发送所述即时通讯消息;如此,通过在传输表情图片时,传输表情的关键值,能够极大的减少数据量,进而实现轻量数据传输,提高传输速度且能够减轻服务器的压力。
在其他实施例中,在发送端从自身的即时通讯对话界面的输入框获取表情图片之前,所述方法还包括:
步骤11,当检测到用于打开表情框的第一操作指令时,获取本地预先存储的映射关系表。
这里,所述映射关系表用于表征表情图片的URL和关键值之间的映射关系。
步骤12,加载所述表情图片的URL,以得到本地存储的表情图片。
这里,在本实施例中,当发送端检测到打开表情框的第一操作指令时,可以首先获取表情图片的URL和关键值之间的映射关系表,然后再根据表情图片的URL加载表情图片,以在即时通讯对话界面输出显示表情框中的表情图片。
步骤13,根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系。
这里,在确定了表情图片和关键值的对应关系之后,在发送端要输出显示表情图片时,可以根据关键值直接确定,不需要二次加载,并且当在接收到包括表情类型的关键值时,也可以根据关键值直接对应出相应的表情图片,不需要再利用URL进行二次加载。
步骤14,当检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值。
这里,在本实施例中,当检测到用户在表情框所对应的显示区域的点击操作或触控操作时,可以认为是检测到用于选择表情的第二操作指令,此时可以根据所述点击操作或触控操作所作用的显示区域的位置信息,来确定用户所选择的表情图片的关键值。
例如,当用户点击或者触控了表情框中的左上角第一个表情区域,该区域对应的关键值为10,那么第二操作指令对应的关键值就是10。
步骤15,确定所述关键值对应的表情图片。
这里,由于用户在选择一个表情时,实际发送端确定出的是该表情对应的关键值,而在发送端的对话界面的输入框进行显示时,是需要显示实际的表情图片的,因此此时需要根据关键值确定对应的表情图片。例如关键值为10对应的表情图片为微笑表情,关键值11对应的表情图片为撇嘴表情等等。
步骤16,在所述输入框输出所述关键值对应的表情图片。
这里,由于表情图片在显示表情框时已经加载好,并且已经确定了关键值与表情图片的对应关系,那么在用户选择了一个表情,实际选择的是表情的一个关键值,而在输入框要进行输出显示时,直接根据关键值确定对应的表情图片,再进行输出显示即可,不必再进行二次加载。
在其他实施例中,当终端作为接收方时,所述方法包括:
步骤61,接收发送端发送的即时通讯消息;
步骤62,对所述即时通消息进行解析,获取所述即时通讯消息的消息值。
这里,所述即时通讯消息的消息值为表情图片对应的关键值。
步骤63,根据本地存储的表情图片和关键值的对应关系,从本地获取所述关键值对应的表情图片;
步骤64,输出所述表情图片。
再步骤61至步骤64所在的实施例中,当终端作为接收方接收到发送方发送的即时通讯消息时,对即时通讯消息进行解析,获取即时通讯消息中携带的关键值,然后再确定关键值对应的表情图片,并最后输出该表情图片,这样通过关键值就能获取到本地存储的表情图片,能够提高表情图片的输出效率。
本实施例提供一种即时通讯方法,图2b为本申请实施例即时通讯方法的又一实现流程示意图,如图2b所示,所述方法包括以下步骤:
步骤S211,发送端从自身的即时通讯对话界面的输入框中获取输入内容。
这里,所述发送端可以是智能终端,例如可以是移动电话、平板电脑、笔记本电脑等具有无线通信能力的移动终端,还可以是具有计算能力的台式计算机、桌面电脑等不便移动的终端。
发送端中安装有可以进行即时通讯的应用程序。在其他实施例中,该应用程序还可以有其他功能并且还可以进行即时通讯的应用程序,例如可以是在线课堂应用程序、购物应用程序、视频播放应用程序等等。
在本实施例中,所述输入内容是指用户在即时通讯对面界面的输入框输入的内容,所述输入内容所包含的类型包括但不限于是文本、课程包、表情、图片。例如,输入内容可以包括:“hello,给你推荐一个好的课程”这一段文字,以及要推荐课程的课程包,还包括一个微笑的表情。
需要说明的是,在本实施例中,所述表情图片是指应用程序中表情组件中自带的表情图片。当是自定义表情时,由于接收端中不一定存储有相同的自定义表情,因此不能直接利用关键值进行传输。
步骤S212,当接收到发送指令时,且所述输入内容中包括表情图片时,确定所述表情图片对应的关键值。
这里,所述步骤S212可以是由发送端实现的,在所述步骤S212之前,所述方法还包括:判断是否接收到发送指令,其中,当接收到发送指令时,则进一步判断所述输入内容中是否包括表情图片,当接收到发送指令时,且所述输入内容中包括表情图片,此时进入步骤S212;当接收到发送指令,且所述输入内容中不包括表情图片时,则将所述输入内容作为即时通讯消息按照预设的传输协议进行发送。
在其他实施例中,判断是否接收到发送指令在实现时根据发送端的类型而有所不同,例如,当发送端为普通的个人计算机,且输入设备为鼠标或键盘时,判断是否接收到发送指令,可以是判断用户是否通过鼠标点击对话界面中的发送按钮,或者是判断用户是否通过键盘输入了发送指令对应的快捷键;当发送端的显示设备为触控式显示屏(例如智能手机、平板电脑、桌面式电脑)时,判断是否接收到发送指令,可以是判断是否接收到操作体在发送按钮所在屏幕位置的触控操作,其中操作体包括手指、触控笔等。当然,判断是否接收到发送指令还可以是判断是否接收到预设的语音或者手势。
判断输入内容中是否包括表情图片在实现时,可以首先对输入内容按照类型进行分割,得到分割结果,进而再根据分割结果判断是否存在表情类型的表情图片,例如当输入内容可以包括:“hello,给你推荐一个好的课程”这一段文字,以及要推荐课程的课程包,还包括一个微笑的表情,对该输入内容进行分割,得到的分割结果可以是:文本类型:hello,给你推荐一个好的课程、课程包类型:推荐课程的课程包、表情类型:微笑表情图片、普通图片类型:空。然后根据分割结果可以确定存在有表情图片。
步骤S213,根据所述关键值和输入内容,确定待发送的即时通讯消息。
这里,所述步骤S213可以是由发送端实现的。
在实际应用过程中,所述步骤S213在实现时,可以是将所述输入内容中的表情图片更新为所述关键值,得到待发送的即时通讯消息。
步骤S214,按照预设的传输协议发送所述即时通讯消息。
这里,所述步骤S214可以是由发送端实现的。在实际应用过程中,所述步骤S214在实现时,可以是发送端按照预设的传输协议将所述即时通讯消息发送给服务器,再由服务器将所述即时通讯消息发送给接收端,这样,由于即时通讯消息中表情是用关键值来表征的,能极大的减少传输数据量,从而实现轻量数据传输,进而提高传输速度,且能够减轻服务器压力。
在其他实施例中,如果发送端和接收端建立有直接的通讯连接,那么发送端可以将待发送的即时通讯消息直接发送给接收端,由于发送端发送的即时通讯消息中是用关键值来代表表情的,这样数据量小,从而能够提高传输速度。
在本申请实施例提供的即时通讯方法中,首先发送端从自身的即时通讯对话界面的输入框中获取输入内容;当接收到发送指令时,且所述输入内容中包括表情图片时,确定所述表情图片对应的关键值;根据所述关键值和输入内容,确定待发送的即时通讯消息;按照预设的传输协议发送所述即时通讯消息;如此,通过在传输带有表情即时通讯消息时,传输表情的关键值,能够极大的减少数据量,进而实现轻量数据传输,提高传输速度且能够减轻服务器的压力。
本申请实施例再提供一种即时通讯方法,应用于发送端、接收端和服务器构成的即时通讯系统,图3a为本申请实施例即时通讯方法的再一实现流程示意图,如图3a所示,所述方法包括以下步骤:
步骤S301,当发送端检测到用于打开即时通讯对话界面的第三操作指令时,响应所述第三操作指令,打开并输出显示即时通讯对话界面。
这里,在本申请实施例中,可以是在在线教育场景下,发送端用户在进行在线学习的时候,想要跟老师或者同样学习该课程的用户进行沟通时,可以通过点击或者触控进行即时通讯的按钮控件,来触发生成用于打开即时通讯对话界面的第三操作指令,发送端在检测到所述第三操作指令后,响应于所述第三操作指令,打开即时通讯对话界面,并在发送端的显示装置中进行输出显示。
步骤S302,所述发送端基于用户的输入操作,获取用户的输入内容,并在所述对话界面的输入框输出显示用户的输入内容。
这里,在即时通讯对话界面中会显示输入框和消息展示框,用户可以通过发送端的输入装置,例如鼠标、键盘等,还可以是通过触控笔或者手指通过触控发送端的触控键盘来输入内容,所述输入内容可以包括文本、表情、图片、课程包等,发送端在接收到用户的输入操作后,会在即时通讯对话界面的输入框输出显示用户的输入内容。
步骤S303,当发送端检测到用于打开表情框的第一操作指令时,获取预先设置的映射关系表。
这里,所述映射关系表用于表征表情图片的统一资源定位符URL和关键值之间的映射关系。所述映射关系表可以是存储在发送端本地存储空间。
步骤S304,所述发送端加载所述表情图片的URL,以输出显示本地存储的表情图片。
这里,在本申请实例中,当发送端检测到打开表情框的第一操作指令时,可以首先获取表情图片的URL和关键值之间的映射关系表,然后再根据表情图片的URL加载表情图片,以在即时通讯对话界面输出显示表情框中的表情图片。
步骤S305,所述发送端根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系。
这里,在确定了表情图片和关键值的对应关系之后,在发送端要输出显示表情图片时,可以根据关键值直接确定,不需要二次加载,并且当在接收到包括表情类型的关键值时,也可以根据关键值直接对应出相应的表情图片,不需要再利用URL进行二次加载。
步骤S306,当所述发送端检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值。
这里,在本实施例中,当检测到用户在表情框所对应的显示区域的点击操作或触控操作时,可以认为是检测到用于选择表情的第二操作指令,此时可以根据所述点击操作或触控操作所作用的显示区域的位置信息,来确定用户所选择的表情图片的关键值。
例如,当用户点击或者触控了表情框中的左上角第一个表情区域,该区域对应的关键值为10,那么第二操作指令对应的关键值就是10。
步骤S307,所述发送端确定所述关键值对应的表情图片。
这里,由于用户在选择一个表情时,实际发送端确定出的是该表情对应的关键值,而在发送端的对话界面的输入框进行显示时,是需要显示实际的表情图片的,因此此时需要根据关键值确定对应的表情图片。例如关键值为10对应的表情图片为微笑表情,关键值11对应的表情图片为撇嘴表情等等。
步骤S308,所述发送端在对话界面的输入框输出所述关键值对应的表情图片。
这里,由于表情图片在显示表情框时已经加载好,并且已经确定了关键值与表情图片的对应关系,那么在用户选择了一个表情,实际选择的是表情的一个关键值,而在输入框要进行输出显示时,直接根据关键值确定对应的表情图片,再进行输出显示即可,不必再进行二次加载。
步骤S309,当所述发送端接收到发送指令时,且所述输入内容中包括表情图片时,获取所述表情图片对应的关键值。
这里,所述步骤S309在实现时,可以通过以下步骤实现:
步骤S3091,当接收到发送指令时,对所述输入内容进行分割,得到所述输入内容中所包含的表情图片;
步骤S3092,根据表情图片和关键值的对应关系,确定所述表情图片对应的关键值。
也就是说,当用户的输入内容中包括表情图片时,在进行传输之前需要根据表情图片确定对应的关键值,在实际实现过程中,其实在用户选择了一个表情的时候,实际是选择了表情图片对应的关键值,这里可以认为是一个逆向处理过程,根据表情图片确定对应的关键值。
步骤S310,所述发送端将所述输入内容中的表情图片更新为所述关键值,得到待发送的即时通讯消息。
这里,在待发送的即时通讯消息中,表情图片是用一个关键值来表征的,这样可以极大的降低数据传输量,从而能够实现轻量数据传输,不仅能够提高数据传输效率,还能够减轻服务器的压力。
步骤S311,所述发送端按照预设的传输协议发送所述即时通讯消息。
这里,所述步骤S311在实现的时候,可以是所述发送端通过WebSocket 传输协议将即时通讯消息发送给服务器。由于WebSocket传输协议是一种在单个TCP连接上进行全双工通讯的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,并且发送端和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,从而能够提高传输效率。
在本申请其他实施例中,所述方法还包括:响应所述发送指令,当所述输入内容中包括表情图片时,在即时通讯对话界面的消息展示框输出显示包括所述表情图片的输入内容。也就是说,当发送端将即时通讯消息发送出去后,在消息展示框中,表情是以图片的形式进行输出显示的。
步骤S312,接收端对接收到的即时通讯消息进行解析,得到解析结果。
这里,所述步骤S312在实现时,接收端接收服务器发送的即时通讯消息,其中,该即时通讯消息是由发送端发送给服务器的。当然,接收端也可以是按照预设的WebSocket传输协议接收服务器发送的即时通讯消息。
在接收端接收到即时通讯消息后,会即时通讯消息进行解析,从而得到解析结果,其中,解析结果可以包括即时通讯消息的消息体中所包含的消息结构的类型,以及各类型的消息内容。
步骤S313,当所述解析结果表明所述即时通讯消息中包括表情类型对应的关键值时,所述接收端获取所述关键值对应的表情图片。
这里,所述接收端会根据解析结果判断在所述即时通讯消息中是否包括表情类型对应的关键值,当所述即时通讯消息中包括表情类型对应的关键值时,此时进入步骤S313,当所述即时通讯消息中不包括表情类型对应的关键值时,输出显示接收到的即时通讯消息。
步骤S314,所述接收端输出所述表情图片。
这里,所述步骤S314在实现时,可以是在接收端的即时通讯界面的消息展示框输出带有所述表情图片的即时通讯消息。
在本实施例提供的即时通讯方法中,首先当发送端检测到用于打开即时通讯对话界面的第三操作指令时,响应所述第三操作指令,输出显示即时通讯对话界面,然后基于用户的输入操作,在所述对话界面的输入框输出显示用户的输入内容;当发送端检测到用于打开表情选择框的第一操作指令时,获取预先设置的映射关系表,并加载所述表情图片的URL,以输出显示本地存储的表情图片;进而根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系;当检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值;再确定所述关键值对应的表情图片;在对话界面的输入框输出所述关键值对应的表情图片;当接收到发送指令时,且所述输入内容中包括表情图片时,确定所述表情图片对应的关键值;将所述输入内容中的表情图片更新为所述关键值,得到待发送的即时通讯消息,按照预设的传输协议发送所述即时通讯消息,接收端接收发送端发送的即时通讯消息;当所述即时通讯消息中包括表情类型对应的关键值时,获取所述关键值对应的表情图片;输出所述表情图片。
在本申请其他实施例中,所述方法还包括:
步骤41,接收端获取预先设置的映射关系表,其中,所述映射关系表用于表征表情图片的URL和关键值之间的映射关系;
步骤42,接收端加载所述表情图片的URL,以得到本地存储的所述URL 对应的表情图片;
步骤43,接收端根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系。
在步骤41至步骤43所在的实施例中,接收端也会预先根据映射关系表中的URL对表情图片进行加载,并确定表情图片和关键值的对应关注,这样,在接收到包含表情的即时通讯消息时,就可以通过关键值直接确定出对应的表情图片,而不需要再进行二次加载。
图3b为本申请实施例即时通讯方法实现流程及对应发送端与接收端的界面示意图,如图3b所示,当用户在发送端打开了即时通讯对话界面时,可以在即时通讯对话界面的输入框显示输入内容,通过图3b中的321可以看出,用户输入了“你好,”当用户点击打开表情框的按钮控件时,发送端获取预先设置的映射关系表加载表情图片的URL,以如图3b中的322所示,在即时通讯的对话界面显示输出显示表情框中的各个表情图片;进而当发送端检测到选择表情的第二操作指令时,确定第二操作指令对应的关键值,确定所述关键值对应的表情图片,如图3b的323中可以看出对话界面的输入框输出所述关键值对应的表情图片。
当发送端检测到发送指令时,则将即时通讯消息通过服务器341发送给接收端,在发送端发送的即时通讯消息中,是以关键值的形式表征表情的,这样数据量会比较小,从而提高传输速度。而当接收端接收到即时通讯消息时,会对即时通讯消息进行解析,当即时通讯消息中包括表情类型的关键值时,获取即时通讯消息中关键值对应的表情图片,并如图3b中的331所示,在接收端的消息展示框输出显示包括所述表情图片的即时通讯消息。
本申请实施例提供一种在在线教育场景中进行信息传递的方法,图3c为本申请实施例在线教育场景中进行信息传递的方法的实现流程示意图,如图3c所示,所述方法可以通过以下步骤实现:
步骤51,当自身当前运行的应用为在线教育应用时,基于与目标对象进行信息传递的第四操作指令,输出进行信息传递的对话界面。
这里,在本实施例中,当自身当前运行的应用为在线教育应用时,说明用户正在进行在线学习,此时在终端的显示界面中显示的为在线授课的显示内容,当用户需要与其他正在学习该课程的用户或者老师进行沟通时,需要通过做出预设操作来输出显示对话界面。
所述第四操作指令可以是由预设操作而触发生成的,其中,所述预设操作可以是在自身的显示界面的预设区域上的触控操作或者点击操作,所述预设操作还可以是做出预设的手势,当然所述预设操作还可以是发出预设的语音。因此,检测与目标对象进行信息传递的第四操作指令在实现时,可以是检测在自身的显示界面的预设区域上的触控操作或者点击操作,或者检测预设的手势,还可以是检测预设的语音。
在检测到第四操作指令后,响应该第四操作指令,如图3b中的321所示,在自身的显示界面中输出进行信息传递的对话界面,也就是,在自身的显示屏上输出显示进行信息传递的对话框,其中在所述对话框中,可以包括输入框和消息展示框,其中,可以在输入框中输入要发送的文本、表情、课程包等输入内容;消息展示框中可以是显示发送方发出的信息,还可以显示接收到的对方发送的信息。
步骤52,当在所述对话界面上检测到用于打开表情框的第一操作指令时,获取表情图片与关键值之间的对应关系。
这里,所述步骤52在实现时,当在所述对话界面检测到用于打开表情框的第一操作指令时,首先获取预先设置的映射关系表,这里,所述映射关系表用于表征表情图片的URL和关键值之间的映射关系,所述映射关系表存储在终端的本地存储空间;然后加载所述表情图片的URL,以得到本地存储的表情图片。最后,根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系。
在本实施例中,当在所述对话界面上检测到用于打开表情框的第一操作指令时,会如图3b中的322所示,在对话界面显示输出显示表情框中的各个表情图片。
步骤53,当检测到用于选择表情的第二操作指令时,基于所述对应关系在所述对话界面的输入框输出所述第二操作指令对应的表情图片。
这里,所述步骤53在实现时,当检测到用于选择表情的第二操作指令时,首先确定所述第二操作指令对应的关键值,然后再基于所述对应关系,确定所述关键值对应的表情图片,并如图3b中的323所示,在对话界面的输入框输出所述关键值对应的表情图片。
这样,在确定了表情图片和关键值的对应关系之后,在要输出显示表情图片时,可以根据关键值直接确定,不需要二次加载。并且,由于表情图片在显示表情框时已经加载好,并且已经确定了关键值与表情图片的对应关系,那么在用户选择了一个表情,实际选择的是表情的一个关键值,而在输入框要进行输出显示时,直接根据关键值确定对应的表情图片,再进行输出显示即可,不必再进行二次加载,从而能够加快输出显示的效率,进一步提升信息传递的效率。
步骤54,当接收到发送指令,且所述输入框中的输入内容中包括表情图片时,根据所述输入内容和所述表情图片对应的第一关键值,发送待发送的信息。
这里,所述步骤54在实现时可以是,当接收到发送指令时,对所述输入内容进行分割,得到所述输入内容中所包含的表情图片;然后再根据获取到的表情图片和关键值的对应关系,确定所述表情图片对应的关键值;进而将输入内容中的表情图片更新为所述关键值,从而得到待发送的信息。在更新之前,表情图片对应的消息值即为该表情图片,而更新后,表情图片对应的消息值为所述关键值;最后按照预设的传输协议发送所述信息。这时,当目标对象接收到该消息后,会如图3b中331所示,在消息展示框中显示接收到的包括表情图片的信息。
在实际应用中,可以是通过WebSocket传输协议将信息发送给服务器,然后再由服务器将该信息发送给目标对象。由于WebSocket传输协议是一种在单个TCP连接上进行全双工通讯的协议。发送端和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,从而能够提高传输效率,并且由于表情图片已经用关键值进行了替代发送,降低了传输的数据量,从而可以进一步提高传输效率。
在其他实施例中,在所述步骤54之后,所述方法还包括:响应所述发送指令,当所述输入内容中包括表情图片时,在对话界面的消息展示框输出显示包括所述表情图片的输入内容。
步骤55,当接收到的信息中包括表情类型对应的第二关键值时,基于所述对应关系,在所述对话界面的消息展示框输出包含所述第二关键值对应的表情图片的信息。
这里,所述步骤55在实现时,在接收到目标对象发送的信息后,首先对接收到的信息进行解析,以得到包括消息体中所包含的消息结构的类型,以及各类型的消息内容的解析结果;当所述解析结果表明所述信息中包括表情类型对应的第二关键值时,获取本地存储的关键值和表情图片的对应关系;然后再基于所述对应关系,确定所述第二关键值对应的表情图片,最后输出包含所述表情图片的信息。
这样,就避免了通过表情URL进行表情传输时,需要在接收到表情的URL 再进行加载的过程,而是通过关键值即可快速确定对应的表情图片,从而进行输出显示,提高了输出显示的效率,进而满足了在线教育场景中,信息需要快速传输、显示的需求,提高了用户之间的沟通效率。
本申请实施例再提供一种即时通讯方法,在所述即时通讯方法中,对表情的传输可以通过本地存储映射关系(Map)的方式,传输Map结构中的关键(key) 值,到达另一端后再获取key值对应的表情图片的方法进行压缩传输。其中所述Map结构中存储有进行即时通讯可使用的表情图片对应的URL和key值的对应关系。
在本实施例中,表情加载过程为,用户在打开聊天框的时候,系统自动将表情的Map关系映射到每一个表情图片中,用户选择表情时即自动选择表情对应的key值。在实际应用过程中,表情加载的过程可以通过以下代码实现:
Figure BDA0001869448050000201
Figure BDA0001869448050000211
需要说明的是,上述代码是加载一个表情图片的实现过程,可以通过循环调用该函数,直至加载完表情框中的所有表情图片。
在本实施例中,表情图片URL存储在本地,获取key值后可直接调用URL 加载表情,而且表情图片一开始已经加载,也不需要经过二次加载。
发送表情的过程为:先将待发送的消息进行分割,将表情识别出来,并标记为表情类型,再把表情对应的key值加入消息体的value中。在实际实现过程中,可以通过以下代码实现将分割后的消息中的表情识别出来,并标记为表情类型,再把表情对应的key值加入消息体的value中:
splitMsg=async(content)=>{
let formatContentArr=[];
let finalRet=[];
if(Array.isArray(content)){
for(let idx=0;idx<content.length;idx++){
let em=content[idx];
if(em.insert&&typeof em.insert===‘object’){
let{image,couse,‘emoji-elm’:emojiElm}=em.insert;
if(image){//图片
finalRet.push(trimContent(formatContentArr));
finalRet.push([{
idx,
type:3,
value:image
}]);
formatContentArr=[];
}else if(course){//课程
formatContentArr.push({
idx,
type:4,
value:course
});
}else if(emojiElm){//表情
formatContentArr.push({
idx,
type:2,
value:emojiElm.value
});
}
在本实施例中,消息体(msgBody)中支持多种类型的消息结构,其中包括但不限于纯文本、表情、课程包、图片、系统消息等类型。通过以下代码可以看出,针对type值为1的普通文本类型,消息格式为em.msg_text.bytes_str、针对type值为2的表情类型,消息格式为msg_face.uint32_index、针对type值为3的图片类型,消息格式为em.msg_not_online_image.str_orig_url、针对type 值为4的课程包类型,消息格式为em.msg_course_info。
switch(type){
case 1:
//普通文本
value=em.msg_text.bytes_str;
break;
case 2:
//表情
value=em.msg_face.uint32_index;
break;
case 3:
//图片
value=em.msg_not_online_image.str_orig_url;
break;
case 4:
//课程包
value=em.msg_course_info;
break;
case 18:
break;
default:
//系统消息
value=em.msg_text&&em.msg_text.bytes_str;
break;
针对表情,消息格式为msg_face.uint32_index,将表情key值存储后即可发送,以下是存储有key值的消息体代码,根据下述代码可以看出,在该消息体中包括kye值为5242的表情,以及文本“Went.”。
msg_body:{,...}
msg_rich_text:{msg_attr:{uint32_char_set:0,uint32_color:0, uint32_effect:0,uint32_pitch_and_family:0,...},...}
msg_attr:{uint32_char_set:0,uint32_color:0,uint32_effect:0, uint32_pitch_and_family:0,...}
rpt_msg_elems:[{msg_face:{uint32_index:5242},uint32_elem_type:2},...]
0:{msg_face:{uint32_index:5242},uint32_elem_type:2}
msg_face:{uint32_index:5242}
uint32_index:5242
uint32_elem_type:2
1:{msg_add_info:{str_nick_name:“Went.”},uint32_elem_type:18}
用户在接收端收到表情对应的消息格式后会自动解析,会得到各个不同类型的获取相应的key值,并根据key值加载本地存储的表情图片。
图4为本申请实施例用户打开私信窗口选择表情的示意图,如图4所示,当用户通过在侧边栏中点击打开私信窗口401,点击402打开表情框,加载表情图片,此时会在私信窗口中显示表情框403中的各个表情图片。
图5为本申请实施例用户选择表情后输出表情图片的界面示意图,当用户点击一表情,自动匹配表情key对应的URL,如图5所示,将表情501展示在富文本输入框中502。
图6为用户发送表情图片的之后的界面示意图,当用户点击发送,把表情的key解析出来,再进行发送传输。如图6所示,在私信对话框的消息展示框 601中,会输出显示已发送的即时通讯消息,当已发送的即时通讯消息中包含表情是,表情是以图片的形式输出展示的。
需要说明的是,在本实施例中是根据应用程序自带的表情(Emotion)组件的表情来设置表情Map,这样,通用性更高,并且可以保证接收方和发送方的表情Map是一致的,从而保证接收方能够输出并显示正确的表情图片。
在本申请实施例提供的即时通讯方法中,使用WebSocket模块,在 WebSocket协议的基础上进行轻量数据通信,能够减轻服务器压力;并且本地存储的表情Map在表情框加载的时候全部加载好,通过传输通道收到表情key 数据后可以迅速响应,得到与key值对应的表情图片进行展示,进而减少上传到图片服务器的等待时延。
基于前述的实施例,本申请实施例提供一种即时通讯装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过即时通讯设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图7为本申请实施例即时通讯装置的组成结构示意图,如图7所示,所述即时通讯装置700包括:第一获取模块701、第一确定模块702、第二确定模块 703、第一发送模块704、解析模块705、第一获取模块706和第一输出模块707,其中:
所述第一获取模块701,用于从自身的即时通讯对话界面的输入框中获取输入内容;
所述第一确定模块702,用于当接收到发送指令时,且所述输入内容中包括表情图片时,确定所述表情图片对应的关键值;
所述第二确定模块703,用于根据所述关键值和输入内容,确定待发送的即时通讯消息;
所述第一发送模块704,用于按照预设的传输协议发送所述即时通讯消息;
所述解析模块705,用于对接收到的即时通讯消息进行解析,得到解析结果;
所述第一获取模块706,用于当所述解析结果表明所述即时通讯消息中包括表情类型对应的关键值时,获取所述关键值对应的表情图片;
所述第一输出模块707,用于输出所述表情图片。
在其他实施例中,所述第二确定模块703,包括:
分割单元,用于当接收到发送指令,对所述输入内容进行分割,得到所述输入内容中所包含的表情图片;
第一确定单元,用于根据表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
第二确定单元,用于所述根据所述关键值和输入内容,确定待发送的即时通讯消息,包括:
更新单元,用于将所述输入内容中的表情图片更新为所述关键值,得到待发送的即时通讯消息。
在其他实施例中,所述装置还包括:
第六获取模块,用于当检测到用于打开表情框的第一操作指令时,获取预先设置的映射关系表,其中,所述映射关系表用于表征表情图片的URL和关键值之间的映射关系;
第一加载模块,用于加载所述表情图片的URL,以得到本地存储的表情图片;
第九确定模块,用于根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系。
在其他实施例中,所述装置还包括:
第十确定模块,用于当检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值;
第十一确定模块,用于确定所述关键值对应的表情图片;
第五输出模块,用于在对话界面的输入框输出所述关键值对应的表情图片;
第六输出模块,用于响应所述发送指令,当所述输入内容中包括表情图片时,在即时通讯对话界面的消息展示框输出显示包括所述表情图片的输入内容。
在其他实施例中,所述装置还包括:
第二获取模块,用于从自身的即时通讯对话界面的输入框获取表情图片;
第三确定模块,用于当接收到发送指令时,基于表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
第四确定模块,用于将所述关键值确定为即时通讯消息的消息值;
第二发送模块,用于按照预设的传输协议发送所述即时通讯消息;
第一接收模块,用于接收发送端发送的关键值;
第三获取模块,用于根据所述关键值,从本地存储中获取所述关键值对应的表情图片;
第二输出模块,用于输出所述表情图片。
在其他实施例中,所述装置还包括:
第六获取模块,用于当检测到用于打开表情框的第一操作指令时,获取本地预先存储的映射关系表,其中,所述映射关系表用于表征表情图片的统一资源定位符URL和关键值之间的映射关系;
第二加载模块,用于加载所述表情图片的URL,以得到本地存储的表情图片;
第六确定模块,用于根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系;
第七确定模块,用于当检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值;
第八确定模块,用于确定所述关键值对应的表情图片;
第七输出模块,用于在所述输入框输出所述关键值对应的表情图片。
在其他实施例中,所述装置还包括:
第二接收模块,用于接收发送端发送的关键值;
第六获取模块,用于根据本地存储的表情图片和关键值的对应关系,从本地获取所述关键值对应的表情图片;
第八输出模块,用于输出所述表情图片。
在其他实施例中,所述装置还包括:
第三输出模块,用于当自身当前运行的应用为在线教育应用时,基于与目标对象进行信息传递的第四操作指令,输出进行信息传递的对话界面;
第四获取模块,用于当在所述对话界面上检测到用于打开表情框的第一操作指令时,获取表情图片与关键值之间的对应关系;
第四输出模块,用于当检测到用于选择表情的第二操作指令时,基于所述对应关系在所述对话界面的输入框输出所述第二操作指令对应的表情图片;
第五确定模块,用于当接收到发送指令,且所述输入框中的输入内容中包括表情图片时,根据所述输入内容和所述表情图片对应的第一关键值,发送待发送的信息;
第四输出模块,用于当接收到的信息中包括表情类型对应的第二关键值时,基于所述对应关系,在所述对话界面的消息展示框输出包含所述第二关键值对应的表情图片的信息。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的即时通讯方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory, ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例再提供一种可读存储介质,所述可读存储介质上存储有即时通讯程序,所述即时通讯程序被处理器执行时实现上述的即时通讯方法的步骤。
对应地,本申请实施例提供一种即时通讯设备,图8为本申请实施例即时通讯设备的组成结构示意图,如图8所示,所述设备800包括:至少一个处理器801、至少一个通信总线802、用户接口803、至少一个外部通信接口804和存储器805。其中:
即时通讯设备800中的各个组件通过通信总线802耦合在一起。可理解,通信总线802用于实现这些组件之间的连接通信。通信总线802除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8 中将各种总线都标为通信总线802。
用户接口803可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
外部通信接口804可以包括标准的有线接口和无线接口。
存储器805可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、闪存(Flash Memory)等。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static RandomAccess Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random AccessMemory)。本申请实施例描述的存储器805旨在包括这些和任意其它适合类型的存储器。
作为本申请实施例提供的方法采用软硬件结合实施的示例,本申请实施例所提供的方法可以直接体现为由处理器801执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器805,处理器801读取存储器805中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器801以及连接到通信总线802的其他组件)以实现以下步骤:
从自身的即时通讯对话界面的输入框中获取输入内容;
当接收到发送指令时,且所述输入内容中包括表情图片时,确定所述表情图片对应的关键值;
根据所述关键值和输入内容,确定待发送的即时通讯消息;
按照预设的传输协议发送所述即时通讯消息。
作为示例,处理器801可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
以上即时通讯设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请即时通讯设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种即时通讯设备所述设备包括:一个处理器、至少一个通信总线、用户接口、至少一个外部通信接口和存储器。其中,通信总线配置为实现这些组件之间的连接通信。其中,用户接口可以包括显示屏,外部通信接口可以包括标准的有线接口和无线接口。其中所述处理器,配置为执行存储器中存储的即时通讯程序,以实现以下步骤:
接收端接收发送端发送的即时通讯消息;
当所述即时通讯消息中包括表情类型对应的关键值时,获取所述关键值对应的表情图片;
输出所述表情图片。
相应地,本申请实施例再提供一种可读存储介质,所述可读存储介质上存储有即时通讯程序,所述即时通讯程序被处理器执行时实现上述的即时通讯方法的步骤。
以上即时通讯设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请即时通讯设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种即时通讯方法,其特征在于,所述方法包括:
当检测到用于打开表情框的第一操作指令时,获取本地预先存储的映射关系表,其中,所述映射关系表用于表征表情图片的统一资源定位符URL和关键值之间的映射关系;
加载所述表情图片的URL,以得到本地存储的表情图片;
根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系;
当检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值;
确定所述关键值对应的表情图片;
在输入框输出所述关键值对应的表情图片;
从自身的即时通讯对话界面的输入框获取表情图片;
当接收到发送指令时,基于本地存储的表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
将所述关键值确定为即时通讯消息的消息值;
按照预设的传输协议发送所述即时通讯消息。
2.根据权利要求1中所述的方法,其特征在于,所述方法包括:
接收发送端发送的关键值;
根据本地存储的表情图片和关键值的对应关系,从本地获取所述关键值对应的表情图片;
输出所述表情图片。
3.一种即时通讯方法,其特征在于,包括:
当检测到用于打开表情框的第一操作指令时,获取预先设置的映射关系表,其中,所述映射关系表用于表征表情图片的URL和关键值之间的映射关系;
加载所述表情图片的URL,以得到本地存储的表情图片;
根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系;
当检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值;
确定所述关键值对应的表情图片;
在对话界面的输入框输出所述关键值对应的表情图片;
从自身的即时通讯对话界面的输入框中获取输入内容;
当接收到发送指令,且所述输入内容中包括表情图片时,基于表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
根据所述关键值和输入内容,确定待发送的即时通讯消息;
按照预设的传输协议发送所述即时通讯消息。
4.根据权利要求3中所述的方法,其特征在于,所述当接收到发送指令,且所述输入内容中包括表情图片时,基于表情图片和关键值的对应关系,确定所述表情图片对应的关键值,包括:
当接收到发送指令,对所述输入内容进行分割,得到所述输入内容中所包含的表情图片;
根据表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
所述根据所述关键值和输入内容,确定待发送的即时通讯消息,包括:
将所述输入内容中的表情图片更新为所述关键值,得到待发送的即时通讯消息。
5.根据权利要求3中所述的方法,其特征在于,在根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系之后,所述方法还包括:
响应所述发送指令,当所述输入内容中包括表情图片时,在即时通讯对话界面的消息展示框输出显示包括所述表情图片的输入内容。
6.根据权利要求3中所述的方法,其特征在于,所述方法还包括:
对接收到的即时通讯消息进行解析,得到解析结果;
当所述解析结果表明所述即时通讯消息中包括表情类型对应的关键值时,获取本地存储的关键值和表情图片的对应关系,其中,所述对应关系是基于本地存储的表情图片的URL与关键值的映射关系表确定的;
基于所述关键值和表情图片的对应关系,确定所述关键值对应的表情图片;
输出所述表情图片。
7.一种在在线教育场景中进行信息传递的方法,其特征在于,所述方法包括:
当自身当前运行的应用为在线教育应用时,基于与目标对象进行信息传递的第四操作指令,输出进行信息传递的对话界面;
当在所述对话界面上检测到用于打开表情框的第一操作指令时,获取表情图片与关键值之间的对应关系;
当检测到用于选择表情的第二操作指令时,基于所述对应关系在所述对话界面的输入框输出所述第二操作指令对应的表情图片;
当接收到发送指令,且所述输入框中的输入内容中包括表情图片时,根据所述输入内容和所述表情图片对应的第一关键值,发送待发送的信息;
当接收到的信息中包括表情类型对应的第二关键值时,基于所述对应关系,在所述对话界面的消息展示框输出包含所述第二关键值对应的表情图片的信息。
8.一种即时通讯装置,其特征在于,所述即时通讯装置包括:第六获取模块、第一加载模块、第九确定模块、第十确定模块、第十一确定模块、第五输出模块、第一获取模块、第一确定模块、第二确定模块、第一发送模块、解析模块、第一获取模块和第一输出模块,其中:
所述第六获取模块,用于当检测到用于打开表情框的第一操作指令时,获取预先设置的映射关系表,其中,所述映射关系表用于表征表情图片的URL和关键值之间的映射关系;
所述第一加载模块,用于加载所述表情图片的URL,以得到本地存储的表情图片;
所述第九确定模块,用于根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系;
所述第十确定模块,用于当检测到用于选择表情的第二操作指令时,确定所述第二操作指令对应的关键值;
所述第十一确定模块,用于确定所述关键值对应的表情图片;
所述第五输出模块,用于在对话界面的输入框输出所述关键值对应的表情图片;
所述第一获取模块,用于从自身的即时通讯对话界面的输入框中获取输入内容;
所述第一确定模块,用于当接收到发送指令时,且所述输入内容中包括表情图片时,基于表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
所述第二确定模块,用于根据所述关键值和输入内容,确定待发送的即时通讯消息;
所述第一发送模块,用于按照预设的传输协议发送所述即时通讯消息;
所述解析模块,用于对接收到的即时通讯消息进行解析,得到解析结果;
所述第一获取模块,用于当所述解析结果表明所述即时通讯消息中包括表情类型对应的关键值时,获取所述关键值对应的表情图片;
所述第一输出模块,用于输出所述表情图片。
9.根据权利要求8中所述的装置,其特征在于,所述第六获取模块,还用于当检测到用于打开表情框的第一操作指令时,获取本地预先存储的映射关系表,其中,所述映射关系表用于表征表情图片的统一资源定位符URL和关键值之间的映射关系;
所述装置还包括:
第二加载模块,用于加载所述表情图片的URL,以得到本地存储的表情图片;
第六确定模块,用于根据所述映射关系表和所述表情图片,确定表情图片和关键值的对应关系;
第二获取模块,用于从自身的即时通讯对话界面的输入框获取表情图片;
第三确定模块,用于当接收到发送指令时,基于表情图片和关键值的对应关系,确定所述表情图片对应的关键值;
第四确定模块,用于将所述关键值确定为即时通讯消息的消息值;
第二发送模块,用于按照预设的传输协议发送所述即时通讯消息;
第一接收模块,用于接收发送端发送的关键值;
第三获取模块,用于根据所述关键值,从本地存储中获取所述关键值对应的表情图片;
第二输出模块,用于输出所述表情图片。
10.根据权利要求8中所述的装置,其特征在于,所述装置还包括:
第三输出模块,用于当自身当前运行的应用为在线教育应用时,基于与目标对象进行信息传递的第四操作指令,输出进行信息传递的对话界面;
第四获取模块,用于当在所述对话界面上检测到用于打开表情框的第一操作指令时,获取表情图片与关键值之间的对应关系;
第四输出模块,用于当检测到用于选择表情的第二操作指令时,基于所述对应关系在所述对话界面的输入框输出所述第二操作指令对应的表情图片;
第五确定模块,用于当接收到发送指令,且所述输入框中的输入内容中包括表情图片时,根据所述输入内容和所述表情图片对应的第一关键值,发送待发送的信息;
第四输出模块,用于当接收到的信息中包括表情类型对应的第二关键值时,基于所述对应关系,在所述对话界面的消息展示框输出包含所述第二关键值对应的表情图片的信息。
11.一种存储介质,其特征在于,所述存储介质上存储有可执行计算机程序,所述可执行计算机程序被处理器执行时,实现权利要求1至2或权利要求3至6任一项中所述的即时通讯方法的步骤;或者,实现权利要求7中所述的在在线教育场景中进行信息传递的方法的步骤。
CN201811369556.2A 2018-11-16 2018-11-16 一种即时通讯方法及其装置、设备和存储介质 Active CN111200552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811369556.2A CN111200552B (zh) 2018-11-16 2018-11-16 一种即时通讯方法及其装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811369556.2A CN111200552B (zh) 2018-11-16 2018-11-16 一种即时通讯方法及其装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111200552A CN111200552A (zh) 2020-05-26
CN111200552B true CN111200552B (zh) 2022-05-13

Family

ID=70746039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811369556.2A Active CN111200552B (zh) 2018-11-16 2018-11-16 一种即时通讯方法及其装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111200552B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328140B (zh) * 2020-11-02 2022-02-25 广州华多网络科技有限公司 图像输入方法及其装置、设备、介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209044A (zh) * 2010-03-29 2011-10-05 腾讯科技(深圳)有限公司 一种展示图片消息的方法、装置和系统
CN105871696A (zh) * 2016-05-25 2016-08-17 维沃移动通信有限公司 一种信息发送、接收方法及移动终端
WO2017054597A1 (zh) * 2015-09-30 2017-04-06 北京奇虎科技有限公司 表情字符串的处理方法及装置
CN107872473A (zh) * 2016-09-23 2018-04-03 阿里巴巴集团控股有限公司 消息处理方法、装置以及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209044A (zh) * 2010-03-29 2011-10-05 腾讯科技(深圳)有限公司 一种展示图片消息的方法、装置和系统
WO2017054597A1 (zh) * 2015-09-30 2017-04-06 北京奇虎科技有限公司 表情字符串的处理方法及装置
CN105871696A (zh) * 2016-05-25 2016-08-17 维沃移动通信有限公司 一种信息发送、接收方法及移动终端
CN107872473A (zh) * 2016-09-23 2018-04-03 阿里巴巴集团控股有限公司 消息处理方法、装置以及系统

Also Published As

Publication number Publication date
CN111200552A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
US10114602B2 (en) Dynamic server-side image sizing for fidelity improvements
CN113741765B (zh) 页面跳转方法、装置、设备、存储介质和程序产品
CN112929253B (zh) 一种虚拟形象交互方法和装置
US10860187B1 (en) Object oriented interactions
US20140208213A1 (en) Synchronization of contextual templates in a customized web conference presentation
CN111880695B (zh) 一种屏幕共享方法、装置、设备及存储介质
US9794078B2 (en) Fairly adding documents to a collaborative session
CN104035565A (zh) 输入方法、输入装置、辅助输入方法及辅助输入系统
CN111565143B (zh) 即时通信方法、设备及计算机可读存储介质
JP2018506793A (ja) インスタントメッセージングサービスで公式アカウントのリッチメニューを提供する方法、装置、システム、およびコンピュータプログラム
CN105379236A (zh) 用户体验模式转变
WO2023227031A1 (zh) 在直播间赠送礼物和展示礼物的方法及相关设备
CN105099722A (zh) 一种消息发送端、消息接收端和群定向通信方法及系统
CN109766315B (zh) 文件展示方法及终端、计算机存储介质、计算机设备
CN111200552B (zh) 一种即时通讯方法及其装置、设备和存储介质
Wakatsuki et al. Development of web-based remote speech-to-text interpretation system captiOnline
WO2023046105A1 (zh) 消息发送方法、装置和电子设备
CN111147894A (zh) 一种手语视频的生成方法、装置及系统
KR20200073502A (ko) 채팅 서비스 제공 장치
Joveski et al. Semantic multimedia remote display for mobile thin clients
CN113382311A (zh) 在线教学交互方法、装置、存储介质以及终端
CN114422468A (zh) 消息处理方法、装置、终端及存储介质
CN112199090A (zh) 信息流处理方法、装置以及计算机可读存储介质
CN112783407B (zh) 截图方法及装置
JP2004054471A (ja) キャラクタの感情・アクション表現を顔文字から表示させる通信端末並びにその通信端末を用いる交信仲介システム

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