即时通讯方法、装置、设备及介质与流程

文档序号:22038742发布日期:2020-08-28 17:49阅读:185来源:国知局
即时通讯方法、装置、设备及介质与流程

本申请实施例涉及即时通讯领域,特别涉及一种即时通讯方法、装置、设备及介质。



背景技术:

在游戏客户端中提供有即时通讯功能。该即时通讯功能提供有大厅公共聊天和好友私人聊天两种场景。大厅公共聊天是属于同一个大厅(频道)的多人广播聊天,好友私人聊天是当前用户和好友用户的两人聊天。

相关技术中,在游戏客户端的某些场景的用户界面中提供有即时通讯功能,另外一些场景的用户界面中未提供有即时通讯功能,比如正在赛车竞技的界面中未提供有即时通讯功能。

由于用户希望在各个场景的用户界面都能进行即时聊天,因此上述方法的应用场景受限,不能满足用户的使用需求。



技术实现要素:

本申请实施例提供了一种即时通讯方法、装置、设备及介质,可以减少技能指示器在某些不必要情况下的显示,从而减少对即时通讯画面的干扰。所述技术方案如下:

根据本申请的一个方面,提供了一种即时通讯方法,所述方法包括:

显示应用程序的第一窗口界面,所述应用程序登录有第一用户帐号;

显示与所述第一窗口界面独立的第二窗口界面,所述第二窗口界面是用于即时通讯的用户界面;

在所述第二窗口界面中与所述应用程序中的其他用户帐号进行即时通讯。

根据本申请的另一方面,提供了一种即时通讯装置,所述装置包括:

显示模块,用于显示应用程序的第一窗口界面,所述应用程序登录有第一用户帐号;

所述显示模块,还用于显示与所述第一窗口界面独立的第二窗口界面,所述第二窗口界面是用于即时通讯的用户界面;

通讯模块,用于在所述第二窗口界面中与所述应用程序中的其他用户帐号进行即时通讯。

根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的即时通讯方法。

根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的即时通讯方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过显示与第一窗口界面独立的第二窗口界面,在第二窗口界面中与应用程序中的其他用户帐号进行即时通讯,不论应用程序的第一窗口界面是属于哪个场景的用户界面,用户均可以使用第二窗口界面与其他用户帐号进行即时通讯,从而实现了在不同场景下均可进行即时通讯的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本申请一个示例性实施例提供的计算机系统的结构框图;

图2是本申请另一个示例性实施例提供的状态同步技术的示意图;

图3是本申请另一个示例性实施例提供的帧同步技术的示意图;

图4是本申请另一个示例性实施例提供的即时通讯方法的界面示意图;

图5是本申请另一个示例性实施例提供的即时通讯方法的方法流程图;

图6是本申请另一个示例性实施例提供的即时通讯方法的方法流程图;

图7是本申请另一个示例性实施例提供的即时通讯方法的界面示意图;

图8是本申请另一个示例性实施例提供的即时通讯方法的界面示意图;

图9是本申请另一个示例性实施例提供的即时通讯方法的界面示意图;

图10是本申请另一个示例性实施例提供的即时通讯方法的界面示意图;

图11是本申请另一个示例性实施例提供的即时通讯方法的界面示意图;

图12是本申请另一个示例性实施例提供的第一进程和第二进程共享数据缓存的示意图;

图13是本申请另一个示例性实施例提供的游戏客户端和网页浏览器共享数据缓存的示意图;

图14是本申请另一个示例性实施例提供的webview组件和服务器进行通信时的示意图;

图15是本申请另一个示例性实施例提供的即时通讯装置的框图;

图16是本申请另一个示例性实施例提供的终端的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先,对本申请实施例中涉及的名词进行简单介绍:

javascript:是一种函数优先的轻量级,解释性或即时编译型的编程语言,是一种属于网络的脚本语言。javascript已经被广泛用于web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常,javascript脚本是通过嵌入在html中实现自身的功能的。

webview:用来展示网页的视图组件,该视图组件是运行浏览器或者在线程中展示网页内容的基础。webview使用webkit渲染引擎来展示,并且支持前进、后退等基础功能,以及浏览历史,网页放大缩小等更多功能。简单来说,webview是客户端中内置了一款高性能webkit内核浏览器,可以用来展示一个网页界面。

websocket:是一种先进的应用程序接口(applicationinterface,api)技术。它可以在用户的浏览器和服务器之间打开交互式通信会话。使用此api,您可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应。

chromium嵌入框架(chromiumembeddedframework,cef)是个基于googlechromium项目的开源网络浏览器控件,支持windows,linux,mac平台。除了提供c/c++接口外,也有其他语言的移植版。因为基于chromium,所以cef支持webkit&chrome中实现的超文本标记语言(hypertextmarkuplanguage5,html5)的特性,并且在性能上面,也比较接近chrome。

图1给出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端110、服务器120、第二终端130。

第一终端110安装和运行有支持即时通讯的应用程序111,该应用程序111可以是多人在线对战程序。当第一终端运行应用程序111时,第一终端110的屏幕上显示应用程序111的用户界面。该应用程序可以是赛车游戏、军事仿真程序、大逃杀射击游戏、虚拟现实(virtualreality,vr)应用程序、增强现实(augmentedreality,ar)程序、三维地图程序、虚拟现实游戏、增强现实游戏、第一人称射击游戏(first-personshootinggame,fps)、第三人称射击游戏(third-personalshootinggame,tps)、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)、策略游戏(simulationgame,slg)、多人协作程序、中的任意一种。在本实施例中,以该应用程序是赛车游戏来举例说明。第一终端110是第一用户112使用的终端,第一用户112使用第一终端110控制位于虚拟环境中的第一虚拟对象进行活动,第一虚拟对象可以称为第一用户112的第一虚拟对象。第一虚拟对象的活动包括但不限于:调整身体姿态、步行、奔跑、骑行、驾驶、飞行、跳跃、攻击、投掷中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物角色或动漫人物角色。

第二终端130安装和运行有支持即时通讯的应用程序131,该应用程序131可以是多人在线对战程序。当第二终端130运行应用程序131时,第二终端130的屏幕上显示应用程序131的用户界面。该应用程序可以是赛车游戏、军事仿真程序、大逃杀射击游戏、vr应用程序、ar程序、三维地图程序、虚拟现实游戏、增强现实游戏、fps、tps、moba、slg中的任意一种,在本实施例中,以该应用程序是赛车游戏来举例说明。第二终端130是第二用户113使用的终端,第二用户113使用第二终端130控制位于即时通讯中的第二虚拟对象进行活动,第二虚拟对象可以称为第二用户113的第一虚拟对象。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。

可选地,第一虚拟人物和第二虚拟人物处于同一虚拟环境中。可选地,第一虚拟人物和第二虚拟人物可以属于同一个阵营、同一个队伍、同一个组织、同一个大厅、同一个频道、具有好友关系或具有临时性的通讯权限。可选的,第一虚拟人物和第二虚拟人物可以属于不同的阵营、不同的队伍、不同的组织、不同的大厅、不同的频道或具有敌对关系。

可选地,第一终端110和第二终端130上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作系统平台(安卓或ios)上的同一类型应用程序。第一终端110可以泛指多个终端中的一个,第二终端130可以泛指多个终端中的另一个,本实施例仅以第一终端110和第二终端130来举例说明。第一终端110和第二终端130的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。

图1中仅示出了两个终端,但在不同实施例中存在多个其它终端140可以接入服务器120。可选地,还存在一个或多个终端140是开发者对应的终端,在终端140上安装有支持即时通讯的应用程序的开发和编辑平台,开发者可在终端140上对应用程序进行编辑和更新,并将更新后的应用程序安装包通过有线或无线网络传输至服务器120,第一终端110和第二终端130可从服务器120下载应用程序安装包实现对应用程序的更新。

第一终端110、第二终端130以及其它终端140通过无线网络或有线网络与服务器120相连。

服务器120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器120用于为支持三维即时通讯的客户端提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。

在一个示意性的例子中,服务器120包括处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(input/outputinterface,i/o接口)125。其中,处理器122用于加载服务器121中存储的指令,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储第一终端110、第二终端130以及其它终端140所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的战斗力指数,用户账号所在的服务区,用户帐号所拥有的赛车;对战服务模块124用于提供多个对战房间供用户进行对战,比如双人对战,多人对战等;面向用户的i/o接口125用于通过无线网络或有线网络和第一终端110和/或第二终端130建立通信交换数据。

服务器120可以采用同步技术使得多个客户端之间的画面表现一致。示例性的,服务器120采用的同步技术包括:状态同步技术或帧同步技术。

状态同步技术

在基于图1的可选实施例中,服务器120采用状态同步技术与多个客户端之间进行同步。在状态同步技术中,如图2所示,控制逻辑运行在服务器120中。当即时通讯中的某个虚拟对象发生状态变化时,由服务器120向所有的客户端,比如客户端1至10,发送状态同步结果。

在一个示例性的例子中,客户端1向服务器120发送请求,该请求用于请求虚拟对象1释放技能x,则服务器120判断该技能x是否允许释放,以及在允许释放该技能x时,对其他虚拟对象2的伤害值是多少。然后,服务器120将技能释放结果发送给所有的客户端,所有的客户端根据技能释放结果更新本地数据以及界面表现。

帧同步技术

在基于图1的可选实施例中,服务器120采用帧同步技术与多个客户端之间进行同步。在帧同步技术中,如图3所示,控制逻辑运行在各个客户端中。每个客户端会向服务器发送帧同步请求,该帧同步请求中携带有客户端本地的数据变化。服务器120在接收到某个帧同步请求后,向所有的客户端转发该帧同步请求。每个客户端接收到帧同步请求后,按照本地的控制逻辑对该帧同步请求进行处理,更新本地数据以及界面表现。

结合上述介绍以及实施环境说明,对本申请实施例提供的即时通讯方法进行说明,以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明。该终端运行有客户端,该客户端是支持即时通讯的应用程序。

参考图4,以该客户端是赛车游戏的客户端为例,在电脑屏幕上会同时显示应用程序的第一窗口界面32和第二窗口界面34。其中,第一窗口界面32是应用程序中由windows程序代码生成的用户界面。第二窗口界面34是由应用程序中的内置浏览器核心渲染和显示的网页界面,是一种“外挂”界面。第一窗口界面32和第二窗口界面34相互独立。用户可以在第一窗口界面32中进行多人游戏、赛道自定义、购买赛车、承接游戏任务等。应用程序中登录有第一用户帐号“我的名字叫八筒”,用户使用第一用户帐号在第二窗口界面34中与其它用户帐号进行即时通讯。

第二窗口界面34中提供有世界频道聊天区36和好友私聊区38。在世界频道聊天区36中,用户使用第一用户帐号和属于同一世界(或大厅或频道)的其它用户帐号进行即时通讯;在好友私聊区38中,用户使用第一用户帐号和具有好友关系的第二用户帐号进行即时通讯。

图5示出了本申请一个示例性实施例提供的即时通讯方法的流程图。本实施例以该方法由图1所示的应用程序执行来举例说明。该方法包括:

步骤502,显示应用程序的第一窗口界面,应用程序登录有第一用户帐号;

应用程序包括采用客户端程序/服务器(client/server,c/s)架构中的客户端程序,以及采用浏览器/服务器(brower/server)架构中的浏览器。第一窗口界面是由应用程序中的客户端程序提供的用户界面,第二窗口界面是由应用程序中的浏览器中的用户界面。应用程序中的客户端程序为主,浏览器为辅,浏览器是由客户端程序调起的。

以客户端程序是windows程序为例,第一窗口界面是由windows程序生成和显示的用户界面,该第一窗口界面是客户端程序提供的任意一个用户界面。在不同时间中,第一窗口界面可以是客户端程序中的不同用户界面。也即,在不同的时间里,第一窗口界面可以发生改变。可选地,第一窗口界面包括聊天区域,或,第一窗口界面不包括聊天区域。

在一个示例中,客户端程序是赛车游戏程序,第一窗口界面可以是游戏大厅界面、赛车界面、商城界面、任务界面等等。

步骤504,显示与第一窗口界面独立的第二窗口界面,第二窗口界面是用于即时通讯的用户界面;

应用程序还通过内置的浏览器(webkit)显示与第一窗口界面独立的第二窗口。可选地,应用程序显示与第一窗口界面独立的网页浏览窗口,在网页浏览窗口中加载聊天室网页,得到第二窗口界面。

第二窗口界面是用于即时通讯的用户界面。示意性的如图4所示,第二窗口界面包括:频道多人聊天区36和好友双人私聊区38。频道多人聊天区36是第一用户帐号和属于同一频道的其他用户帐号进行即时聊天的区域,好友双人私聊区38是第一用户帐号和具有好友关系的第二用户帐号进行即时聊天的区域。

步骤506,在第二窗口界面中与应用程序中的其他用户帐号进行即时通讯。

用户在第一窗口界面中使用客户端程序提供的程序功能,在第二窗口界面中与应用程序中的其他用户帐号进行即时通讯。由于第一窗口界面发生改变时,第二窗口界面不会发生改变,因此用户在第一窗口界面中使用非聊天功能时,不会影响第二窗口界面中的聊天功能。同理,用户在第二窗口界面中使用聊天功能时,不会影响第一窗口界面中的非聊天功能。

综上所述,本实施例提供的方法,通过显示与第一窗口界面独立的第二窗口界面,在第二窗口界面中与应用程序中的其他用户帐号进行即时通讯,不论应用程序的第一窗口界面是属于哪个场景的用户界面,用户均可以使用第二窗口界面与其他用户帐号进行即时通讯,从而实现了在不同场景下均可进行即时通讯的效果。

图6示出了本申请另一个示例性实施例提供的即时通讯方法的流程图。本实施例以该方法由图1所示的应用程序执行来举例说明。该方法包括:

步骤502,显示应用程序的第一窗口界面,应用程序登录有第一用户帐号,第一窗口界面对应第一进程;

应用程序包括采用客户端程序/服务器(client/server,c/s)架构中的客户端程序。第一窗口界面是由应用程序中的客户端程序提供的用户界面。

以客户端程序是windows程序为例,第一窗口界面是由windows程序生成和显示的用户界面,该第一窗口界面是客户端程序提供的任意一个用户界面。在不同时间中,第一窗口界面可以是客户端程序中的不同用户界面。也即,在不同的时间里,第一窗口界面可以发生改变。可选地,第一窗口界面包括聊天区域,或,第一窗口界面不包括聊天区域。

第一窗口界面对应第一进程。可选地,第一进程是应用程序的主进程。第一进程是客户端程序在运行时的进程。

步骤504a,通过第一进程创建第二进程;

在一种设计中,第二窗口界面在应用程序启动后自动触发显示。此时,由第一进程在启动后自动创建第二进程。

在另一种设计中,第二窗口界面是由用户手动触发显示的。示例性的,用户在第一窗口界面上右键显示出右键菜单。该右键菜单中包括“打开聊天界面”菜单项,响应于“打开聊天界面”菜单项上触发的新建指令,第一进程创建第二进程。

第二进程是应用程序中的浏览器或浏览器内核对应的进程,第一进程通过进程间通信向第二进程传递参数信息,参数信息包括但不限于:第一用户帐号的帐号信息、好友信息、所处频道信息、聊天室网页的网址信息中的至少一种。

步骤504b,通过第二进程显示与第一窗口界面独立的网页浏览窗口;

在第二进程启动后,第二进程显示与第一窗口界面独立的网页浏览窗口。该网页浏览窗口是具有浏览网页能力的用户界面。

步骤504c,通过第二进程在网页浏览窗口中加载聊天室网页,得到第二窗口界面;

第二进程根据从第一进程获取的参数信息,在网页浏览窗口中加载与第一用户帐号对应的聊天室网页,得到第二窗口界面。

步骤506,在第二窗口界面的聊天室网页中,与应用程序中的其他用户帐号进行频道多人聊天和好友双人聊天中的至少一种;

其中,频道多人聊天是第一用户帐号和属于同一频道的其他用户帐号进行即时聊天,好友双人聊天是第一用户帐号和具有好友关系的第二用户帐号进行即时聊天。

第二窗口界面是用于即时通讯的用户界面。示意性的如图4所示,第二窗口界面包括:频道多人聊天区36和好友双人私聊区38。频道多人聊天区36是第一用户帐号和属于同一频道的其他用户帐号进行即时聊天的区域,好友双人私聊区38是第一用户帐号和具有好友关系的第二用户帐号进行即时聊天的区域。

在频道多人聊天区36中显示有同一频道中的各个用户帐号发送的广播消息。可选的,对于每个广播消息,显示有发送该广播消息的用户帐号的头像和昵称。示意性的如图7所示,频道多人聊天区36中显示有玩家5发送的广播消息。当用户右键点击玩家5的昵称时,右键菜单361中提供有如下菜单项中的至少一种:发送消息、查看信息、添加好友、加入房间、邀请游戏和屏蔽消息。其中,发送消息是指向玩家5发送私聊消息,查看信息是指查看玩家5的用户资料,添加好友是指添加玩家5为自己的好友,加入房间是指加入玩家5当前所处的游戏房间(比如两人竞速房间),邀请游戏是邀请玩家5进入当前玩家所处的游戏房间。屏蔽消息是指在频道多人聊天区36中屏蔽玩家5发送的消息。

在好友多人私聊区38中显示有与第一用户帐号具有好友关系的第二用户帐号。第二用户帐号为一个或多个。示意性的如图8所示,好友多人私聊区38的左侧区域显示有好友列表381,用户可选择好友列表381中的任意一个好友进行两人私聊。

可选地,当用户在频道多人聊天区36和/或好友多人私聊区38进行聊天时,支持表情发送。示意性的如图9所示,频道多人聊天区36和/或好友多人私聊区38中提供有文字输入框,在文字输入框的左侧或右侧显示有表情控件39。当用户点击表情控件39时,弹出表情列表391供用户进行选择。用户选择某一个表情后,将该表情发送至频道多人聊天区36和/或好友多人私聊区38中。

可选地,第二窗口界面中还包括:推荐好友区,如图10所示。推荐好友区显示有向用户推荐的推荐用户帐号。可选地,推荐用户帐号是与第一用户帐号属于同一地区的用户帐号、属于同一频道的用户帐号、兴趣相同或相近的用户帐号、一起玩过游戏的用户帐号中的至少一种非好友用户帐号。当用户右键选择某一个推荐用户帐号“玩家2”时,右键菜单70中提供有如下菜单项中的至少一种:发送消息、查看信息、添加好友、邀请游戏和屏蔽消息。其中,发送消息是指向玩家2发送私聊消息,查看信息是指查看玩家2的用户资料,添加好友是指添加玩家2为自己的好友,邀请游戏是邀请玩家2进入当前玩家所处的游戏房间。屏蔽消息是指在频道多人聊天区36中屏蔽玩家2发送的消息。

由于第一窗口界面可能是客户端程序提供的任意一个用户界面,因此第一窗口界面中也可能包括聊天区域。当第一窗口界面包括第一聊天区域时,可选执行如下步骤:

步骤508,响应于第一窗口界面中包括第一聊天区域,第二窗口界面中包括第二聊天区域,同步第一聊天区域和第二聊天区域中的聊天消息。

示意性的,该同步功能适用于频道多人聊天区36和好友多人私聊区38中的至少一种。也即第二聊天区域可以是频道多人聊天区36和好友多人私聊区38中的至少一种。示意性的如图11所示,当在好友多人私聊区38中产生私聊消息1和私聊消息2后,私聊消息1和私聊消息2会同步到第一窗口界面中的第一聊天区域72。相应的,若第一聊天区域72中存在聊天消息时,也会同步至第二聊天区域74中进行显示。

示意性的如图12所示,第一窗口界面对应有第一进程121,第二窗口界面对应有第二进程122。在本实施例中,第一进程121和第二进程122共享有第一数据缓存123(buffer)和第二数据缓存124。

响应于第一聊天区域具有待同步的第一聊天消息,第一进程121将第一聊天消息写入第一数据缓存123,第二进程122从第一数据缓存123读取第一聊天消息。

响应于第二聊天区域具有待同步的第二聊天消息,第二进程122将第二聊天消息写入第二数据缓存124,第一进程121从第二数据缓存124读取第二聊天消息。

综上所述,本实施例提供的方法,通过显示与第一窗口界面独立的第二窗口界面,在第二窗口界面中与应用程序中的其他用户帐号进行即时通讯,不论应用程序的第一窗口界面是属于哪个场景的用户界面,用户均可以使用第二窗口界面与其他用户帐号进行即时通讯,从而实现了在不同场景下均可进行即时通讯的效果。

本实施例提供的方法,还通过在第一窗口界面中包括第一聊天区域,第二窗口界面中包括第二聊天区域时,同步第一聊天区域和第二聊天区域中的聊天消息,使得用户可以同时在第一聊天区域和第二聊天区域中进行聊天,实现无缝切换的聊天体验。

在一个示意性的例子中,以应用程序是游戏应用程序(gameapplication,gameapp)为例,如图13所示,游戏客户端包括两个进程:一个gameapp进程131用来运行游戏本身的进程,一个webbrowser进程132来运行聊天窗口的进程。两个进程共享有缓存数据块,该缓存数据块分为第一数据缓存(requestbuffer)和第二数据缓存(responsebuffer)。webbrowser进程132往gameapp传输数据时,是通过向第一数据缓存里写入json格式数据,gameapp从第一数据缓存里读json格式数据,然后执行后续逻辑。gameapp进程131往webbrowser进程132传输数据时,gameapp进程131通过往第二数据缓存里写入json格式数据,webbrowser进程132从第二数据缓存读json格式数据,然后执行回调函数。

在一个示意性的例子中,第二窗口界面是应用程序中的webview组件提供的。第二窗口界面中的聊天消息是由webview组件通过websocket(网络套接字)与服务器通信的。如图14所示,webview组件141和服务器142之间的通信流程如下:

s1,开始连接;

webview组件141新建websocket,开始连接至服务器。

s2,已连接;

webview组件141监听websocket,确认连接成功。

s3,数据缓存;

webview组件141将传输协议转换成javascript脚本文件并引用。webview组件141利用javascript脚本文件向服务器141发送消息和接收消息。当接收到消息时,根据消息的消息id(msgid)执行后续步骤。

s4,连接结束。

本申请实施例至少具有如下技术效果:

1、实现玩家在处于各个场景的第一窗口界面时,都能在第二窗口界面中进行实时聊天的功能,并且不会影响原本游戏客户端的帧率,不会造成游戏卡顿。

2、由于第二窗口界面是基于web实现的,开发人员通过前端项目打包编译,直接将第二窗口界面的聊天功能发布到线上,进行功能迭代和版本发布时的开发更敏捷;

3、由于聊天室网页的可编辑性较强,能够准确还原美术效果;

4、开发人员能够快速开发第二窗口界面的demo,来确定方案可行性。

图15示出了本申请一个示意性实施例提供的即时通讯装置的框图。该装置包括:

显示模块1520,用于显示应用程序的第一窗口界面,所述应用程序登录有第一用户帐号;

所述显示模块1520,还用于显示与所述第一窗口界面独立的第二窗口界面,所述第二窗口界面是用于即时通讯的用户界面;

通讯模块1540,用于在所述第二窗口界面中与所述应用程序中的其他用户帐号进行即时通讯。

在一个可选的实施例中,所述显示模块1520,用于显示与所述第一窗口界面独立的网页浏览窗口;在所述网页浏览窗口中加载聊天室网页,得到所述第二窗口界面。

在一个可选的实施例中,所述第一窗口界面对应第一进程;所述显示模块1520,用于通过所述第一进程创建第二进程;通过所述第二进程显示与所述第一窗口界面独立的网页浏览窗口。

在一个可选的实施例中,所述通讯模块1540,用于在所述第二窗口界面的所述聊天室网页中,与所述应用程序中的所述其他用户帐号进行频道多人聊天和好友双人聊天中的至少一种;

其中,所述频道多人聊天是所述第一用户帐号和属于同一频道的其他用户帐号进行即时聊天,所述好友双人聊天是所述第一用户帐号和具有好友关系的第二用户帐号进行即时聊天。

在一个可选的实施例中,所述第一窗口界面中包括第一聊天区域,所述第二窗口界面中包括第二聊天区域,所述装置还包括:

同步模块1560,用于同步所述第一聊天区域和所述第二聊天区域中的聊天消息。

在一个可选的实施例中,所述第一窗口界面对应有第一进程,所述第二窗口界面对应有第二进程;所述第一进程和所述第二进程共享有第一数据缓存和第二数据缓存;

所述同步模块1560,用于响应于所述第一聊天区域具有待同步的第一聊天消息,通过所述第一进程将所述第一聊天消息写入所述第一数据缓存,通过所述第二进程从所述第一数据缓存读取所述第一聊天消息;响应于所述第二聊天区域具有待同步的第二聊天消息,通过所述第二进程将所述第二聊天消息写入所述第二数据缓存,通过所述第一进程从所述第二数据缓存读取所述第二聊天消息。

在一个可选的实施例中,所述应用程序包括客户端程序和浏览器,所述第一窗口界面是所述客户端程序提供的用户界面,所述第二窗口界面是所述浏览器提供的用户界面,所述浏览器是由所述客户端程序调起的。

需要说明的是:上述实施例提供的即时通讯装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的即时通讯装置与即时通讯方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本申请还提供了一种计算机设备(终端或服务器),该计算机设备包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的即时通讯方法。需要说明的是,该计算机设备可以是如下图16所提供的计算机设备。

图16示出了本申请一个示例性实施例提供的计算机设备1600的结构框图。该计算机设备1600可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1600还可能被称为用户设备、便携式计算机设备、膝上型计算机设备、台式计算机设备等其他名称。

通常,计算机设备1600包括有:处理器1601和存储器1602。

处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1601还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1601所执行以实现本申请中方法实施例提供的即时通讯方法。

在一些实施例中,计算机设备1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。具体地,外围设备包括:射频电路1604、触摸显示屏1605、摄像头1606、音频电路1607、定位组件1608和电源1609中的至少一种。

外围设备接口1603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1601和存储器1602。在一些实施例中,处理器1601、存储器1602和外围设备接口1603被集成在同一芯片或电路板上;在一些其他实施例中,处理器1601、存储器1602和外围设备接口1603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1604用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1604可以通过至少一种无线通信协议来与其它计算机设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1604还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1605用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1605是触摸显示屏时,显示屏1605还具有采集在显示屏1605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1601进行处理。此时,显示屏1605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1605可以为一个,设置计算机设备1600的前面板;在另一些实施例中,显示屏1605可以为至少两个,分别设置在计算机设备1600的不同表面或呈折叠设计;在再一些实施例中,显示屏1605可以是柔性显示屏,设置在计算机设备1600的弯曲表面上或折叠面上。甚至,显示屏1605还可以设置成非矩形的不规则图形,也即异形屏。显示屏1605可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1606用于采集图像或视频。可选地,摄像头组件1606包括前置摄像头和后置摄像头。通常,前置摄像头设置在计算机设备的前面板,后置摄像头设置在计算机设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1601进行处理,或者输入至射频电路1604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1601或射频电路1604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1607还可以包括耳机插孔。

定位组件1608用于定位计算机设备1600的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1608可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1609用于为计算机设备1600中的各个组件进行供电。电源1609可以是交流电、直流电、一次性电池或可充电电池。当电源1609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,计算机设备1600还包括有一个或多个传感器1610。该一个或多个传感器1610包括但不限于:加速度传感器1611、陀螺仪传感器1612、压力传感器1613、指纹传感器1614、光学传感器1615以及接近传感器1616。

加速度传感器1611可以检测以计算机设备1600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1611可以用于检测重力加速度在三个坐标轴上的分量。处理器1601可以根据加速度传感器1611采集的重力加速度信号,控制触摸显示屏1605以横向视图或纵向视图进行用户界面的显示。加速度传感器1611还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1612可以检测计算机设备1600的机体方向及转动角度,陀螺仪传感器1612可以与加速度传感器1611协同采集用户对计算机设备1600的3d动作。处理器1601根据陀螺仪传感器1612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1613可以设置在计算机设备1600的侧边框和/或触摸显示屏1605的下层。当压力传感器1613设置在计算机设备1600的侧边框时,可以检测用户对计算机设备1600的握持信号,由处理器1601根据压力传感器1613采集的握持信号进行左右手识别或快捷操作。当压力传感器1613设置在触摸显示屏1605的下层时,由处理器1601根据用户对触摸显示屏1605的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1614用于采集用户的指纹,由处理器1601根据指纹传感器1614采集到的指纹识别用户的身份,或者,由指纹传感器1614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1614可以被设置计算机设备1600的正面、背面或侧面。当计算机设备1600上设置有物理按键或厂商logo时,指纹传感器1614可以与物理按键或厂商logo集成在一起。

光学传感器1615用于采集环境光强度。在一个实施例中,处理器1601可以根据光学传感器1615采集的环境光强度,控制触摸显示屏1605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1605的显示亮度;当环境光强度较低时,调低触摸显示屏1605的显示亮度。在另一个实施例中,处理器1601还可以根据光学传感器1615采集的环境光强度,动态调整摄像头组件1606的拍摄参数。

接近传感器1616,也称距离传感器,通常设置在计算机设备1600的前面板。接近传感器1616用于采集用户与计算机设备1600的正面之间的距离。在一个实施例中,当接近传感器1616检测到用户与计算机设备1600的正面之间的距离逐渐变小时,由处理器1601控制触摸显示屏1605从亮屏状态切换为息屏状态;当接近传感器1616检测到用户与计算机设备1600的正面之间的距离逐渐变大时,由处理器1601控制触摸显示屏1605从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图16中示出的结构并不构成对计算机设备1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的即时通讯方法。

本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的即时通讯方法。

本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的即时通讯方法。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1