即时通讯系统中建立数据通道的方法及客户端的制作方法

文档序号:7694533阅读:214来源:国知局
专利名称:即时通讯系统中建立数据通道的方法及客户端的制作方法
技术领域
本发明涉及即时通讯技术,尤其涉及即时通讯系统中建立数据通道的方 法及客户端。
背景技术
目前,即时通讯工具已经非常普及,不仅能够满足用户之间普通文字、 图片的交流,还能满足用户之间语音、图像的交流,使用户像打视频电话一 样进行网络聊天是今后即时通讯工具的发展方向。
即时通讯工具不同于现有的电话通讯工具,其中一个区别在于通过即时 通讯工具,用户可以直接知道对方"在线,,或者"离线",如果对方当前处 于在线状态,并设置为"在线"状态,则本地的好友列表就显示该好友登录
了即时通讯工具;如果对方当前处于在线状态,却想保护自己的在线行为, 便设置为"隐身"状态,则本地的好友列表就显示该好友没有登录,也就是 "离线";并且,如果对方当前处于离线状态,则本地的好友列表也显示该 好友为"离线"。
在呼叫过程中,主叫客户端发起与被叫客户端之间的呼叫后,对于当前 处于隐身状态和在线状态的被叫客户端,主叫客户端需要建立与该被叫客户 端之间的数据通道后才能进行数据传输,建立数据通道的方法包括直连方式 和第三方中转方式,下面分别进行说明。主叫客户端和被叫客户端通过网际 协议(IP, Internet Protocol)地址标示自己的位置,如果双方通过直连建立 了数据通道,就相当于把自己的位置信息告诉给了对方。采用第三方中转方 式建立数据通道时,主叫客户端通过第三方与被叫客户端进行数据传输,主 叫客户端只能得到IP地址,避免了采用直连方式时将被叫客户端的IP地址告诉给主叫客户端,从而,保护了被叫客户端的隐私,但采用第三方中转方 式进行数据传输比直连方式的质量差。
实际运用中,主叫客户端向被叫客户端发起呼叫后,向被叫客户端发送 是否接收呼叫的请求,被叫客户端向用户显示"是否接收呼叫"的界面,如 果用户接收呼叫请求,则被叫客户端向主叫客户端返回接收呼叫请求响应, 主叫客户端开始通过直连方式建立与被叫客户端之间的数据通道,待数据通
道建立成功后,再通过该数据通道与被叫客户端进行数据传输;如果用户拒 绝呼叫请求,则被叫客户端不响应主叫客户端的呼叫。采用上述方法建立数 据通道存在如下缺点数据通道的建立在主叫客户端接收被叫客户端返回的 接收呼叫请求响应之后进行,被叫客户端需要在接收呼叫请求后等待一段时 间建立数据通道,在建立数据通道之后才能开始数据传输,导致了用户体验 差。

发明内容
本发明提供一种即时通讯系统中建立数据通道的方法,该方法能够在保 护被叫客户端隐私的同时,提高被叫客户端在线状态下进行数据传输的质量。
本发明提供一种客户端,该客户端能够在保护被叫客户端隐私的同时, 提高被叫客户端在线状态下进行数据传输的质量。
一种即时通讯系统中建立^:据通道的方法,该方法包括 主叫客户端发起与被叫客户端之间的呼叫;
如果主叫客户端通过即时通讯服务器获知被叫客户端在线,则通过直连方 式建立与被叫客户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求;
如果主叫客户端通过即时通讯服务器获知被叫客户端隐身,则通过第三 方建立与被叫客户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求。
一种客户端,该客户端包括被叫客户端状态获取模块、通道建立模块一和通道建立模块二;
所述被叫客户端状态获取模块,用于在本地客户端发起与被叫客户端之间 的呼叫后,如果通过即时通讯服务器获知被叫客户端在线,则将呼叫信息发送
给通道建立模块一;如果通过即时通讯服务器获知被叫客户端隐身,则将呼叫 信息发送给通道建立模块二;
所述通道建立模块一,用于根据被叫客户端状态获取模块传送的呼叫信息, 通过直连方式建立本地客户端与被叫客户端之间的数据通道,向被叫客户端端 发送是否接收呼叫的请求;
所述通道建立模块二,用于根据被叫客户端状态获取模块传送的呼叫信息, 通过第三方建立本地客户端与被叫客户端之间的数据通道,向被叫客户端发送 是否接收呼叫的请求。
从上述方案可以看出,本发明主叫客户端在向被叫客户端发送是否接收 呼叫的请求之前,先建立主叫客户端与被叫客户端之间的数据通道,建立数 据通道时,如果主叫客户端通过即时通讯服务器获知被叫客户端在线,则通 过直连方式建立与被叫客户端之间的数据通道;如果主叫客户端通过即时通 讯服务器获知被叫客户端隐身,则通过第三方建立与被叫客户端之间的数据 通道。这样,防止了隐身状态下被叫客户端的IP地址被泄露,保护了被叫 客户端的隐私;同时,对于被叫客户端处于在线状态的情况采用直连方式建 立数据通道,提高了数据传输的质量。


图1为本发明即时通讯系统中建立数据通道的方法示例性流程图; 图2为本发明即时通讯系统中建立数据通道的方法流程图实例; 图3为本发明提供的客户端结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明中,主叫客户端在向被叫客户端发送是否接收呼叫的请求之前,先 建立主叫客户端与被叫客户端之间的数据通道,建立数据通道时,从即时通讯 服务器获知被叫客户端的当前状态,若被叫客户端处于隐身状态,则通过第三 方建立与被叫客户端之间的数据通道,若被叫客户端处于在线状态,则通过直 连方式建立与被叫客户端之间的数据通道。从而,防止了隐身状态下被叫客户 端的IP地址被泄露,同时,提高了被叫客户端处于在线状态时进行数据传输的 质量。
参见图1,为本发明即时通讯系统中建立数据通道的方法示例性流程图,
该方法包括以下步骤
步骤101,主叫客户端发起与被叫客户端之间的呼叫。
步骤102,如果主叫客户端通过即时通讯服务器获知被叫客户端在线, 则通过直连方式建立与被叫客户端之间的数据通道,通过建立的数据通道向 被叫客户端发送是否接收呼叫的请求。
由于被叫客户端在线,不需要对被叫客户端的IP地址进行保护,并且, 与通过第三方建立数据通道的方式相比,采用直连方式可提高数据传输质 量,因此,当被叫客户端处于在线状态时,采用直连方式建立数据通道。
即时通讯服务器内存储有各个客户端当前的状态信息,包括隐身状态、 在线状态和离线状态,主叫客户端可从即时通讯服务器获取被叫客户端当前 的状态信息。
步骤103,如果主叫客户端通过即时通讯服务器获知被叫客户端隐身, 则通过第三方建立与被叫客户端之间的数据通道,向被叫客户端发送是否接 jj丈呼叫的i青求。
向被叫客户端发送是否接收呼叫的请求之后,如果主叫客户端在预定时间 段内通过第三方接收到被叫客户端返回的接收呼叫请求响应,则采用直连方式 建立与被叫客户端之间的数据通道,然后,主叫客户端从通过第三方建立的数 据通道切换到通过直连方式建立的数据通道,由直连的数据通道向被叫客户端发送数据;如果主叫客户端在预定时间段内没有接收到被叫客户端返回的接收
呼叫请求响应,则向用户提示被叫客户端不在线信息。所述预定时间段可根据 需要设定,为主叫客户端向被叫客户端发送是否接收呼叫的请求到接收被叫客 户端返回的4妄收呼叫请求响应之间的时间。
所述第三方可以是特定的用于进行数据中转的服务器,也可以是在其他的 处于在线状态的客户端中随机选择出来用于进行数据中转的客户端。
步骤102、 103可无序执行。
对于被叫客户端处于离线状态的情况,主叫客户端通过即时通讯服务器获 知被叫客户端离线后,向用户提示被叫客户端不在线信息。
参见图2,为本发明即时通讯系统中建立数据通道的方法流程图实例,该 方法包括以下步骤
步骤201,主叫客户端发起与被叫客户端之间的呼叫。
步骤202,主叫客户端通过即时通讯服务器获取被叫客户端的状态信息, 如果被叫客户端当前处于离线状态,则执行步骤203;如果被叫客户端当前处 于在线状态,则执行步骤204;如果被叫客户端当前处于隐身状态,则执行步 骤205。
步骤203,主叫客户端则向用户提示被叫客户端不在线信息。
步骤204 ,主叫客户端通过直连方式建立与被叫客户端之间的数据通道, 向被叫客户端发送是否接收呼叫的请求。
本步骤还包括如果主叫客户端在预定时间段内接收到被叫客户端返回的 接收呼叫请求响应,则通过直连的数据通道向被叫客户端传送数据;如果在 预定时间段内没有接收到被叫客户端返回的接收呼叫请求响应,则向用户提示 被叫客户端不在线信息。
步骤205,主叫客户端通过第三方建立与被叫客户端之间的数据通道,向 被叫客户端发送是否接收呼叫的请求,如果在预定时间段内接收被叫客户端返 回的接收呼叫请求响应,执行步骤206,如果在预定时间段内没有接收到被叫 客户端返回的接收呼叫请求响应,则执行步骤207。步骤206,采用直连方式建立与被叫客户端之间的数据通道,从通过第三 方建立的数据通道切换到通过直连方式建立的数据通道,由直连的数据通道 与被叫客户端之间进行数据传输。
对于被叫客户端处于隐身状态的情况,通过第三方建立主叫客户端与被 叫客户端之间的数据通道,避免了隐身状态下被叫客户端IP地址被泄露, 保护了被叫客户端的隐私。由于相比于第三方中转方式,采用直连方式进行 数据传输具有提高数据传输质量的优点,并且被叫客户端接收主叫客户端发 起的呼叫请求,表明被叫客户端已经将自己的在线状态告诉了主叫客户端, 也就无需再对被叫客户端的IP地址进行保护,因此在被叫客户端接收主叫 客户端发起的呼叫请求后,转为通过直连方式进行数据传输,这样,进一步 提高了数据传输的质量。
步骤207,主叫客户端向用户提示被叫客户端不在线信息。
参见图3,为本发明提供的客户端结构示意图,该客户端包括被叫客户端 状态获取模块、通道建立模块一和通道建立模块二;
所述被叫客户端状态获取模块,用于在本地客户端发起与被叫客户端之间 的呼叫后,如果通过即时通讯服务器获知被叫客户端在线,则将呼叫信息发送 给通道建立模块一;如果通过即时通讯服务器荻知被叫客户端隐身,则将呼叫 信息发送给通道建立模块二;
所述通道建立模块一,用于根据被叫客户端状态获取模块传送的呼叫信息, 通过直连方式建立本地客户端与被叫客户端之间的数据通道,向被叫客户端端 发送是否接收呼叫的请求;
所述通道建立模块二,用于根据被叫客户端状态获取模块传送的呼叫信息, 通过第三方建立本地客户端与被叫客户端之间的数据通道,向被叫客户端发送 是否接收呼叫的请求。被叫客户端状态获取模块向通道建立模块一和通道建立 模块二发送的呼叫信息中包含被叫客户端的信息,通道建立模块一和通道建立 模块二根据被叫客户端的信息,建立本地客户端与被叫客户端之间的数据通道。
可选地,所述通道建立模块二包括通道转换模块,用于通过第三方接收被叫客户端返回的接收呼叫请求响应后,采用直连方式建立与被叫客户端之间的 数据通道,从通过第三方建立的数据通道切换到通过直连方式建立的数据通道, 由直连的数据通道与被叫客户端之间进行数据传输。
可选地,所述通道建立模块二包括信息提示模块一,用于在预定时间段内
没有通过第三方接收到被叫客户端返回的接收呼叫请求响应时,向用户提示被 叫客户端不在线信息。
可选地,所述被叫客户端状态获取模块包括提示模块二,用于在客户端发 起与被叫客户端之间的呼叫后,通过即时通讯服务器获知被叫客户端离线,向 用户提示被叫客户端不在线信息。
本发明中采用主叫客户端向被叫客户端发起呼叫后先建立数据通道,当 数据通道建立成功以后,才向被叫客户端发送是否接收呼叫的请求,在主叫 客户端接收被叫客户端返回的接收呼叫请求响应之后,便可立即进行数据传 输,从而,提升了用户体验。并且,在建立数据通道时,如果主叫客户端通 过即时通讯服务器获知被叫客户端在线,则通过直连方式建立与被叫客户端之
间的数据通道;如果主叫客户端通过即时通讯服务器获知被叫客户端隐身,则
通过第三方建立与被叫客户端之间的数据通道。这样,防止了隐身状态下被叫
客户端的IP被泄露,保护了被叫客户端的隐私;同时,对于被叫客户端处于在 线状态的情况,采用直连方式建立数据通道,提高了数据传输的质量。并且, 对于被叫客户端处于隐身状态的情况,在被叫客户端接收主叫客户端返回的接 收呼叫请求响应后,转为直连方式进行数据传输,进一步提高了数据传输的质量。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进 一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并 不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种即时通讯系统中建立数据通道的方法,其特征在于,该方法包括主叫客户端发起与被叫客户端之间的呼叫;如果主叫客户端通过即时通讯服务器获知被叫客户端在线,则通过直连方式建立与被叫客户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求;如果主叫客户端通过即时通讯服务器获知被叫客户端隐身,则通过第三方建立与被叫客户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求。
2、 如权利要求1所述的方法,其特征在于,所述通过第三方建立与被叫客 户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求之后,该方法包 括主叫客户端通过第三方接收被叫客户端返回的接收呼叫请求响应,通过直 连方式建立与被叫客户端之间的数据通道;主叫客户端从通过第三方建立的数据通道切换到通过直连方式建立的数据 通道,由直连的数据通道与被叫客户端之间进行数据传输。
3、 如权利要求l所述的方法,其特征在于,所述通过第三方建立与被叫客 户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求之后,该方法包 括主叫客户端在预定时间段内没有接收到被叫客户端通过第三方返回的接收 呼叫请求响应,则向用户提示被叫客户端不在线信息。
4、 如权利要求l所述的方法,其特征在于,所述主叫客户端发起与被叫客 户端之间的呼叫之后,该方法包括如果主叫客户端通过即时通讯服务器获知 被叫客户端离线,则向用户提示被叫客户端不在线信息。
5、 一种客户端,其特征在于,该客户端包括被叫客户端状态获取模块、通道建立模块一和通道建立模块二;所述被叫客户端状态获取模块,用于在本地客户端发起与被叫客户端之间 的呼叫后,如果通过即时通讯服务器获知被叫客户端在线,则将呼叫信息发送给通道建立模块一;如果通过即时通讯服务器获知被叫客户端隐身,则将呼叫 信息发送给通道建立模块二;所述通道建立模块一,用于根据被叫客户端状态获取模块传送的呼叫信息, 通过直连方式建立本地客户端与被叫客户端之间的数据通道,向被叫客户端端 发送是否接收呼叫的请求;所述通道建立模块二,用于根据被叫客户端状态获取模块传送的呼叫信息, 通过第三方建立本地客户端与被叫客户端之间的数据通道,向被叫客户端发送 是否接收呼叫的请求。
6、 如权利要求5所述的客户端,其特征在于,所述通道建立模块二包括通 道转换模块,用于通过第三方接收被叫客户端返回的接收呼叫请求响应后,采 用直连方式建立与被叫客户端之间的数据通道,从通过第三方建立的数据通道 切换到通过直连方式建立的数据通道,由直连的数据通道与被叫客户端之间进 行数据传输。
7、 如权利要求5或6所述的客户端,其特征在于,所述通道建立模块二包 括信息提示模块一,用于在预定时间段内没有通过第三方接收到被叫客户端返 回的接收呼叫请求响应时,向用户提示被叫客户端不在线信息。
8、 如权利要求5或6所述的客户端,其特征在于,所述被叫客户端状态获 取模块包括提示模块二,用于在客户端发起与被叫客户端之间的呼叫后,通过 即时通讯服务器获知被叫客户端离线,向用户提示被叫客户端不在线信息。
全文摘要
本发明公开了一种即时通讯系统中建立数据通道的方法及客户端,该方法包括主叫客户端发起与被叫客户端之间的呼叫;如果主叫客户端通过即时通讯服务器获知被叫客户端在线,则通过直连方式建立与被叫客户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求;如果主叫客户端通过即时通讯服务器获知被叫客户端隐身,则通过第三方建立与被叫客户端之间的数据通道,向被叫客户端发送是否接收呼叫的请求。本发明方案在避免被叫客户端网际协议地址被泄露的同时,提高了数据传输的质量。
文档编号H04L12/58GK101291301SQ20081011085
公开日2008年10月22日 申请日期2008年6月13日 优先权日2008年6月13日
发明者李沛昭, 谦 陈 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1