CN109347973A - 一种客户端即时通讯方法及*** - Google Patents
一种客户端即时通讯方法及*** Download PDFInfo
- Publication number
- CN109347973A CN109347973A CN201811360903.5A CN201811360903A CN109347973A CN 109347973 A CN109347973 A CN 109347973A CN 201811360903 A CN201811360903 A CN 201811360903A CN 109347973 A CN109347973 A CN 109347973A
- Authority
- CN
- China
- Prior art keywords
- client
- user
- conversation
- message
- content
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种客户端即时通讯方法及***,其中,方法包括以下步骤:当第一用户通过第一客户端向第二客户端的第二用户发起消息时,先检查第一客户端的本地数据库是否存在包含有第一用户和第二用户的会话函数conversation;如果有,则直接将conversation***到首条消息中一起发送给第二客户端的第二用户;如果没有,则请求服务端创建conversation,并且将其存储到本地数据库,以及将conversation***到首条消息中一起发送给第二客户端的第二用户;当第二客户端接收到conversation后,对其内容进行解析;第二客户端根据解析后的内容作出相应的界面显示与逻辑处理。
Description
技术领域
本发明涉及客户端即时通讯技术,尤其涉及一种客户端即时通讯方法及***。
背景技术
现有技术的即时通讯流程是,发起消息的客户端先去检查本地会话函数conversation是否存在,如果不存在则去创建此conversation;而消息接收方需要根据接收到的消息去判断自己是否已经具有此消息的conversation,如果没有则去服务器拉取,这样会造成客户端很多繁琐和复杂的操作。
发明内容
本发明的目的在于,解决现有技术的即时通讯过程中存在的上述问题。
为实现上述目的,一方面,本发明提供了一种客户端即时通讯方法,该方法包括以下步骤:
当第一用户通过第一客户端向第二客户端的第二用户发起消息时,先检查第一客户端的本地数据库是否存在包含有所述第一用户和所述第二用户的会话函数conversation;如果有,则直接将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;如果没有,则请求服务端创建所述conversation,并且将其存储到本地数据库,以及将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;当所述第二客户端接收到所述conversation后,对其内容进行解析;所述第二客户端根据解析后的内容作出相应的界面显示与逻辑处理。
conversation代表两个用户之间的会话,内容包括:会话标识、通信双方用户的标识、匿名标识、通信双方头像地址、展示的匿名名称和双方用户相关的数据中的一种或多种。
另一方面,本发明提供了一种客户端即时通讯***,该***包括第一客户端、第二客户端和服务端;当第一用户通过第一客户端向第二客户端的第二用户发起消息时,第一客户端先检查第一客户端的本地数据库是否存在包含有所述第一用户和所述第二用户的会话函数conversation;如果有,则直接将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;如果没有,则请求服务器创建所述conversation,并且将其存储到本地数据库,以及将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;当所述第二客户端接收到所述conversation后,对其内容进行解析;所述第二客户端根据解析后的内容作出相应的界面显示与逻辑处理。
本发明能够更为灵活的实现即时通讯中匿名/非匿名消息的创建,减少客户的逻辑业务。
附图说明
图1为本发明实施例提供的一种客户端即时通讯方法流程示意图;
图2为本发明实施例提供的一种客户端即时通讯***应用场景图;
图3为本发明实施例提供的一种客户端即时通讯***应用场景示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种客户端即时通讯方法流程示意图。如图1和图2所示,该方法包括步骤S101-S103:
步骤S101,当第一用户通过第一客户端向第二客户端的第二用户发起消息时,先检查第一客户端的本地数据库是否存在包含有所述第一用户和所述第二用户的会话函数conversation。
具体地,消息的发送是基于conversation的,conversation中有会话双方的头像、昵称、通讯id、是否匿名等需要附加的内容。假设第一用户要和第二用户进行聊天,它可以以第一用户身份A发起聊天,也可以以匿名身份An发起聊天,只需要修改conversation中是否匿名的标识,然后将conversation一同伴随消息发送给对方。
conversation代表两个用户之间的会话,内容包括,会话标识covs_id、通信双方用户的标识uid、匿名标识tox-也就是匿名接收方的uid、通信双方头像地址、展示的匿名名称等和双方用户相关的数据。会话由自己的标识covs_id确定同时也可以由通信双方用户的标识uid以及对谁匿名标识tox,三者唯一确定,如果双方为实名通信则tox值为null。另外两个用户之间的会话只会以三种类型存在,就是第一用户和第二用户之间的实名通信,第一用户对第二用户的匿名通信以及第二用户对第一用户的匿名通信。
步骤S102,如果第一客户端的本地数据库存储包含有所述第一用户和所述第二用户的会话函数conversation,则直接将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;如果第一客户端的本地数据库没有存储所述第一用户和所述第二用户的会话函数conversation,则请求服务端创建所述conversation,并且将其存储到本地数据库,以及将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;
具体地,如果第一客户端的本地数据库存储包含有所述第一用户和所述第二用户的会话函数conversation,则根据conversion构建消息体msg进行消息发送。msg结构体负责每次发送的消息,内容包括,发送方和接收方uid、tox、消息类型msgType、消息内容msgCon。如果发送的消息是图片或者文件格等,那么对msgType的值进行img或者file等类型的设置,并且将文件上传到服务器,获取到文件在云端的存储路径后,将其值设置给msgCon;msg被发送到服务器,服务器根据接收方uid进行这个msg的下发;接收方收到msg后根据msgType的类型确定msgCon值的真实意义,比如,下载文件、图片还是直接显示文本。
步骤S102,当第二客户端接收到conversation后,对其内容进行解析;所述第二客户端根据解析后的内容作出相应的界面显示与逻辑处理。
具体地,当第二客户接收到首条消息中附带的conversation后解析其内容,获取头像、昵称、匿名信息等所需字段,根据这些字段内容作出相应的界面显示与逻辑处理。第二客户在接收到conversation后也要将其进行缓存,如果是非匿名的会话,那么当第二客户发起消息的时候能够重用这个conversation。
在一个实施例中,假如现在有A要对B发起一个实名通信,在客户端,A从好友列表中选择B,并且默认是实名通信;此时A先在本地数据库检查有没有和B的实名消息会话conversation,如果有则根据conversion构建消息体msg进行消息发送,如果没有则将双方uid和tox发送到服务端由服务端查询或者生成conversion(此conversion也会在服务端存储),然后将此conversion返回给请求的客户端A,客户端A再将其存储到本地。在消息接收端B,B收到msg后会根据双方uid和tox查询本地有没有双方的实名会话conversion,如果找到,则根据conversion中通讯双方的信息显示对方的头像、昵称等,如果不存在,则根据对方的uid查询本地用户列表找到A的信息,同时发送双方uid和tox到服务器查询A和B的实名会话conversion,找到后返回给B,并且在B用户的客户端存储此conversion。当然也可以从聊天界面点击用户头像查看用户详情,因为此时逻辑上是存在一个conversion的,里面有通信双方的各种信息。
相应地,本发明实施例还提供了一种种客户端即时通讯***应用场景示意图,如图3所示。客户端即时通讯***,包括第一客户端、第二客户端和服务端;当第一用户通过第一客户端向第二客户端的第二用户发起消息时,第一客户端先检查第一客户端的本地数据库是否存在包含有所述第一用户和所述第二用户的会话函数conversation;如果有,则直接将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;如果没有,则请求服务器创建所述conversation,并且将其存储到本地数据库,以及将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;当所述第二客户端接收到所述conversation后,对其内容进行解析;所述第二客户端根据解析后的内容作出相应的界面显示与逻辑处理。
本发明实施例能够更为灵活的实现即时通讯中匿名/非匿名消息的创建,减少客户的逻辑业务。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种客户端即时通讯方法,其特征在于,包括以下步骤:
当第一用户通过第一客户端向第二客户端的第二用户发起消息时,先检查第一客户端的本地数据库是否存在包含有所述第一用户和所述第二用户的会话函数conversation;如果有,则直接将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;如果没有,则请求服务端创建所述conversation,并且将其存储到本地数据库,以及将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;当所述第二客户端接收到所述conversation后,对其内容进行解析;所述第二客户端根据解析后的内容作出相应的界面显示与逻辑处理。
2.根据权利要求1所述的方法,其特征在于,所述conversation代表两个用户之间的会话,内容包括:会话标识、通信双方用户的标识、匿名标识、通信双方头像地址、展示的匿名名称和双方用户相关的数据中的一种或多种。
3.根据权利要求1所述的方法,其特征在于,第一用户可以用第一用户身份发起聊天,也可以以匿名身份发起聊天;通过修改conversation中是否匿名的标识,然后将修改后的conversation***到首条消息中一起发送给所述第二客户端的第二用户。
4.一种客户端即时通讯***,其特征在于,包括第一客户端、第二客户端和服务端;当第一用户通过第一客户端向第二客户端的第二用户发起消息时,第一客户端先检查第一客户端的本地数据库是否存在包含有所述第一用户和所述第二用户的会话函数conversation;如果有,则直接将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;如果没有,则请求服务器创建所述conversation,并且将其存储到本地数据库,以及将所述conversation***到首条消息中一起发送给所述第二客户端的第二用户;当所述第二客户端接收到所述conversation后,对其内容进行解析;所述第二客户端根据解析后的内容作出相应的界面显示与逻辑处理。
5.根据权利要求4所述的***,其特征在于,所述conversation代表两个用户之间的会话,内容包括:会话标识、通信双方用户的标识、匿名标识、通信双方头像地址、展示的匿名名称和双方用户相关的数据中的一种或多种。
6.根据权利要求4所述的***,其特征在于,第一用户可以用第一用户身份发起聊天,也可以以匿名身份发起聊天;通过修改conversation中是否匿名的标识,然后将修改后的conversation***到首条消息中一起发送给所述第二客户端的第二用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360903.5A CN109347973B (zh) | 2018-11-15 | 2018-11-15 | 一种客户端即时通讯方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360903.5A CN109347973B (zh) | 2018-11-15 | 2018-11-15 | 一种客户端即时通讯方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109347973A true CN109347973A (zh) | 2019-02-15 |
CN109347973B CN109347973B (zh) | 2022-04-26 |
Family
ID=65315772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811360903.5A Active CN109347973B (zh) | 2018-11-15 | 2018-11-15 | 一种客户端即时通讯方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347973B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616091A (zh) * | 2009-07-23 | 2009-12-30 | 杭州华三通信技术有限公司 | 实现标签发布协议快速重路由的方法及标签交换路由器 |
CN102130846A (zh) * | 2010-08-30 | 2011-07-20 | 华为技术有限公司 | 一种即时消息发送、接收方法、装置和*** |
US20130070672A1 (en) * | 2011-09-16 | 2013-03-21 | Keith McFarland | Anonymous Messaging Conversation |
CN103825969A (zh) * | 2013-10-29 | 2014-05-28 | 电子科技大学 | 一种基于匿名网络的dns查询方法 |
CN104348707A (zh) * | 2013-08-08 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种会话消息查找方法、装置及*** |
CN104734941A (zh) * | 2014-12-05 | 2015-06-24 | 北京晶乐互动科技有限公司 | 一种基于实名/匿名切换的即时通信***及其方法 |
CN105681173A (zh) * | 2016-03-14 | 2016-06-15 | 华为软件技术有限公司 | 即时通讯中会话的创建方法、装置及*** |
CN105933202A (zh) * | 2016-04-13 | 2016-09-07 | 郑州悉知信息科技股份有限公司 | 一种消息处理方法及装置 |
US20170230313A1 (en) * | 2016-02-09 | 2017-08-10 | Ca, Inc. | Anonymous messaging in an instant message group conversation |
CN107659492A (zh) * | 2017-10-31 | 2018-02-02 | 珠海信达九州科技有限公司 | 一种高可靠性即时通讯*** |
US20180103073A1 (en) * | 2016-10-06 | 2018-04-12 | Cisco Technology, Inc. | Managing access to communication sessions with communication identifiers of users and using chat applications |
CN108667899A (zh) * | 2018-03-29 | 2018-10-16 | 挂号网(杭州)科技有限公司 | 多终端消息同步和隔离即时通讯方法及*** |
-
2018
- 2018-11-15 CN CN201811360903.5A patent/CN109347973B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616091A (zh) * | 2009-07-23 | 2009-12-30 | 杭州华三通信技术有限公司 | 实现标签发布协议快速重路由的方法及标签交换路由器 |
CN102130846A (zh) * | 2010-08-30 | 2011-07-20 | 华为技术有限公司 | 一种即时消息发送、接收方法、装置和*** |
US20130070672A1 (en) * | 2011-09-16 | 2013-03-21 | Keith McFarland | Anonymous Messaging Conversation |
CN104348707A (zh) * | 2013-08-08 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种会话消息查找方法、装置及*** |
CN103825969A (zh) * | 2013-10-29 | 2014-05-28 | 电子科技大学 | 一种基于匿名网络的dns查询方法 |
CN104734941A (zh) * | 2014-12-05 | 2015-06-24 | 北京晶乐互动科技有限公司 | 一种基于实名/匿名切换的即时通信***及其方法 |
US20170230313A1 (en) * | 2016-02-09 | 2017-08-10 | Ca, Inc. | Anonymous messaging in an instant message group conversation |
CN105681173A (zh) * | 2016-03-14 | 2016-06-15 | 华为软件技术有限公司 | 即时通讯中会话的创建方法、装置及*** |
CN105933202A (zh) * | 2016-04-13 | 2016-09-07 | 郑州悉知信息科技股份有限公司 | 一种消息处理方法及装置 |
US20180103073A1 (en) * | 2016-10-06 | 2018-04-12 | Cisco Technology, Inc. | Managing access to communication sessions with communication identifiers of users and using chat applications |
CN107659492A (zh) * | 2017-10-31 | 2018-02-02 | 珠海信达九州科技有限公司 | 一种高可靠性即时通讯*** |
CN108667899A (zh) * | 2018-03-29 | 2018-10-16 | 挂号网(杭州)科技有限公司 | 多终端消息同步和隔离即时通讯方法及*** |
Non-Patent Citations (1)
Title |
---|
刘洁: "IMS即时消息实现技术", 《电信科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109347973B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11012527B2 (en) | Managing multiple profiles for a single account in an asynchronous messaging system | |
US9258259B2 (en) | Retrieval of offline instant messages | |
US8769418B2 (en) | Enhanced message handling | |
US20160149839A1 (en) | Multi-Network Chat System | |
WO2017128178A1 (zh) | 一种信息交互方法、客户端和装置 | |
IL180566A (en) | Electronic messaging system and method | |
US10200338B2 (en) | Integrating communication modes in persistent conversations | |
US10587540B2 (en) | Group messaging | |
CN102143093A (zh) | 即时通讯的方法、装置和*** | |
EP2560329B1 (en) | Method and processing system for routing a message request | |
US20110307565A1 (en) | Group messaging integration system, method and apparatus | |
CN106789566A (zh) | 基于手机操作***的不同im应用消息共享方法和*** | |
US7853659B2 (en) | Method for presenting personalized, voice printed messages from online digital devices to hosted services | |
US20120191861A1 (en) | Cardless Contact Information Exchange | |
CN109347973A (zh) | 一种客户端即时通讯方法及*** | |
US10771420B2 (en) | Creating and updating digital notes via electronic messages | |
CN116248535B (zh) | 通讯交流的脉络展示方法、计算机装置、计算机可读介质 | |
JPH04369054A (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 |