一种建立及保持客户端之间网络连接的方法

文档序号:82223阅读:424来源:国知局
专利名称:一种建立及保持客户端之间网络连接的方法
技术领域
本发明涉及即时通信技术,尤其涉及一种建立及保持客户端之间网络连接的方法。
背景技术
网络即时通信工具(如腾讯QQ、腾讯TM、微软MSN及网易POPO)发展到今天,已经被大多数的网民所接受,而且逐渐成为了用户日常生活中不可缺少的一部分,即时通信软件不但被使用在用户的工作中,同样也大量的使用在用户的生活中,通过即时通信软件用户可以实现与联系人进行即时有效的沟通。在用户与好友联系中,不但需要普通文本的交流沟通,同样也需要丰富的沟通方式,因此在各种即时通信软件中都出现了视频、音频以及文件传输等多媒体沟通方式,这种实时互动的沟通方式需要用户与好友之间建立起相应的网络连接,才能进行相应数据包的传输,因此网络连接是用户之间进行多媒体沟通的必要条件。即时通信软件中多媒体沟通方式的出现极大的便利了用户之间的交流与沟通,既为用户节约了大量的时间与费用,同时也给用户之间的联系提供了更加方便快速的沟通方式,已经成为用户之间利用即时通信软件进行交流与沟通过程中不可缺少的一部分。
请参阅图1,该图为现有技术中通过即时通信软件建立网络连接的流程图,其主要过程为步骤S10、客户端A向客户端B发起网络连接请求,将网络连接请求协议命令及客户端A与客户端B的标识信息组合到数据包中,对数据包进行加密处理后发送给即时通信服务器;步骤S11、即时通信服务器接收客户端A发送的数据包,对数据包进行解密解析操作,确认该数据包为网络连接请求协议命令数据包后提取出其中的客户端A与客户端B的标识信息,通过客户端B的标识信息查询登录服务器获取客户端B的动态IP地址,即时通信服务器根据客户端B的动态IP地址将网络连接请求数据包转发给客户端B;步骤S12、客户端B收到即时通信服务器发送的数据包后,对数据包进行解密解析,获取网络连接请求消息以及客户端A的标识信息,客户端B判断当前是否存在对应客户端A的消息窗口句柄,若是,执行步骤S13,否则,执行步骤S14;步骤S13、在客户端B侧的对应客户端A的消息窗口中显示收到客户端A的网络连接请求的提示信息,转步骤S15;步骤S14、客户端B利用Windows窗口API函数生成对应客户端A的消息窗口,该消息窗口中显示有收到客户端A的网络连接请求的提示信息转步骤S15;步骤S15、,客户端B接受该网络连接请求,与客户端A建立网络连接。
现有技术中消息窗口与网络连接具有一定的耦合关系,在客户端A和客户端B建立网络连接之后,若客户端A和客户端B中的任何一方关闭了对应对端的消息窗口,则客户端A与客户端B之间的网络连接也同时断开,若客户端A和客户端B中的任何一方客户端希望继续与对方进行网络连接,只能通过重新发起网络连接请求的方式与对方重新建立网络连接,从而给用户造成了很大的不便,严重影响了用户的使用体验。
另外,现有技术中,在客户端接收到对方的视频连接请求的时候,若当前不存在对应对端的消息窗口,则客户端自动生成并弹出对应对端的消息窗口,这种自动弹出消息窗口的方式容易给客户端造成一定的干扰。

发明内容本发明提供一种建立及保持客户端之间网络连接的方法,用以解决现有技术在即时通信过程中关闭与客户端对应的消息窗口时,与客户端的网络连接也会同时断开的问题。
本发明方法包括一种建立及保持客户端之间网络连接的方法,包括步骤A、第一通信客户端与第二通信客户端分别打开相互对应的消息窗口,并建立网络连接;B、在第一通信客户端或第二通信客户端捕获到对所述消息窗口的关闭操作时,若所述网络连接仍保持,则隐藏该消息窗口,并继续保持所述网络连接。
所述步骤B中,在捕获到对所述消息窗口的关闭操作时,判断第一通信客户端与第二通信客户端之间是否保持网络连接,若是,则显示是否继续保持网络连接的提示信息,否则,关闭所述消息窗口,同时断开所述网络连接。
所述步骤B中,当所述提示消息的反馈消息为继续保持所述网络连接时,隐藏所述消息窗口,并继续保持所述网络连接;当所述提示消息的反馈消息为断开所述网络连接时,关闭所述消息窗口,同时断开所述网络连接。
所述步骤B中,隐藏所述消息窗口的同时,记录所述消息窗口句柄与其对应的客户端标识之间的映射关系;当第一通信客户端捕获到针对第二通信客户端的恢复消息窗口操作时,或第二通信客户端捕获到针对第一通信客户端的恢复消息窗口操作时,根据所述操作针对的客户端标识获取其对应的消息窗口句柄,若该消息窗口句柄有效,则恢复显示相应的消息窗口。
所述网络连接保持过程中,第一通信客户端与第二通信客户端的用户界面上显示与对端保持网络连接的提示信息。
所述步骤A前还包括步骤第一通信客户端向第二通信客户端发送网络连接请求,同时显示正在发送网络连接请求的提示信息;第二通信客户端以提示信息形式显示接收到的网络连接请求,并选择接受该请求。
所述步骤A具体包括步骤所述第一通信客户端打开与第二通信客户端对应的消息窗口,并向第二通信客户端发送网络连接请求;第二通信客户端以提示信息形式显示接收到的网络连接请求,并选择接受该请求,同时打开与第一通信客户端对应的消息窗口,与第一通信客户端建立网络连接。
所述网络连接包括视频连接、音频连接及文件传输连接。
本发明有益效果如下本发明有效的分离了即时通信软件中的消息窗口与视频、语音或文件传输等网络连接过程的耦合关系,在网络连接双方中的任何一方执行关闭消息窗口的操作时,对消息窗口进行隐藏,并继续保持语音、视频或者文件传输的网络连接过程,使用户可以随时恢复消息窗口进行多媒体的交流与沟通,极大的方便了用户使用即时通信软件进行交流的过程,同时也为用户节约了大量的时间,极大提高了用户有效利用网络连接的效率。
图1为现有技术中通过即时通信软件建立网络连接的流程图;图2为本发明第一种建立客户端之间网络连接的方法的流程图;图3为客户端收到视频连接请求后所显示的提示窗口示意图;图4为建立视频连接后在客户端用户界面上显示的网络连接的提示信息;图5为本发明第二种建立客户端之间网络连接的方法的流程图;图6为本发明在关闭消息窗口时继续保持网络连接的流程图。
具体实施方式本发明针对现有技术的缺陷,提出一种即时通信过程中在关闭与客户端对应的消息窗口时,与客户端的网络连接仍继续保持的处理方式,从而有效的分离了消息窗口与网络连接的耦合关系,提高了用户利用网络连接的效率。下面将结合附图对本发明的主要实现原理及其具体实施方式
进行详细的阐述。
请参阅图2,该图为本发明第一种建立客户端之间网络连接的方法的流程图,其主要实现过程为步骤S20、第一通信客户端打开与第二通信客户端相对应的消息窗口,向第二通信客户端发起网络连接请求,第一通信客户端将网络连接请求消息、自身的标识信息及第二通信客户端的标识信息组合到数据包中,对数据包进行加密处理后,利用与即时通信服务器约定的套接字端口将其发送给即时通信服务器;所述网络连接请求包括视频连接请求、音频连接请求及文件传输连接请求。
步骤S21、即时通信服务器接收到第一通信客户端发送的数据包,对数据包进行解密与解析操作,确认该数据包为网络连接请求协议命令数据包后,从中解析出第一通信客户端及第二通信客户端的标识信息,即时通信服务器根据第二通信客户端的标识信息查询登录服务器获取其动态IP地址,根据该动态IP地址向其转发第一通信客户端的网络连接请求数据包。
步骤S22、第二通信客户端在约定的套接字端口接收即时通信服务器发送的数据包,对数据包进行解密与解析处理后,解析出其中的网络连接请求协议命令及第一通信客户端的标识信息,第二通信客户端弹出提示窗口用以显示接收到的网络连接请求,图3所示为第一通信客户端向第二通信客户端发送视频连接请求时,所弹出的视频连接请求提示窗口的示意图;提示窗口的预设高度及预设宽度分别为nHeigth与nWidth,第二通信客户端利用Windows系统API函数获取当前屏幕右下角的Point1坐标信息(Point数据结构包括横坐标数值nX以及纵坐标nY)以及当前任务拦的高度数据,根据上述信息即可对提示窗口左上角Point2的位置数据进行计算,则Point2.nX=Point1.nX-nWidth;Point2.nY=Point1.nY-nHeight-当前任务栏高度;根据计算得出的提示窗口左上角Point2的位置数据,利用Windows窗口生成API函数CreateWindow生成高度为nHeigth、宽度为nWidth的提示窗口,在该提示窗口中显示接收到的网络连接请求。
步骤S23、提示窗口响应Windows系统的鼠标点击消息,通过Windows鼠标点击消息参数获取当前鼠标点击的位置,利用Windows矩形相关API函数判断鼠标点击位置是否位于“接受”或者“拒绝”按钮的矩形区域中,如果位于“接受”按钮的矩形区域中,则执行步骤S24,如果位于“拒绝”按钮的矩形区域中,则执行步骤S25,如果两者都不是,则继续响应鼠标点击消息。
步骤S24、第二通信客户端利用Windows窗口API函数创建对应第一通信客户端的消息窗口,建立与第一通信客户端的网络连接,第二通信客户端利用Windows Socket(套接字)API确认当前网络连接已建立成功,即可利用该网络连接进行数据包传输。
在网络连接保持过程中,在第一通信客户端与第二通信客户端的用户界面上对应对端的图标位置对应显示与对端保持网络连接的提示信息,图4所示为第一通信客户端与第二通信客户端建立视频连接后在各自的用户界面中显示的提示信息。
步骤S25、第二通信客户端将拒绝接受网络连接请求协议命令、自身的标识信息以及第一通信客户端的标识信息组合到数据包中,将该数据包发送给即时通信服务器,即时通信接收到该数据包后确认是拒绝接受网络连协议命令,将该数据包转发给第一通信客户端,第一客户端收到该数据包后,在用户界面上显示网络连接请求被拒绝的提示信息。
上述过程中,第一通信客户端在发起网络连接前必须先打开与第二通信客户端对应的消息窗口,即在网络连接请求未被接受之前,与第二通信客户端对应的消息窗口也必须一直打开,而在某些网络连接请求被拒绝的时候,该消息窗口就会给用户带来一定的干扰,因此,本发明中在第一通信客户端的网络连接请求未被第二通信客户端接受之前,第一通信客户端可以先不打开与第二通信客户端对应的消息窗口,待到网络连接请求被接受后才打开与第二通信客户端对应的消息窗口。请参阅图5,该图为本发明第二种建立客户端之间网络连接的方法的流程图,其主要实现过程为步骤S50、第一通信客户端向第二通信客户端发起网络连接请求,将网络连接请求消息、自身的标识信息及第二通信客户端的标识信息组合到数据包中,对数据包进行加密处理后,利用与即时通信服务器约定的套接字端口将其发送给即时通信服务器;第一通信客户端在请求网络连接的过程中,通过获取第二通信客户端在用户界面上的图标位置信息,利用绘图函数DrawTaxt对应图标所在位置绘制并显示正在发送网络连接请求的提示信息。
步骤S51至步骤S53、与上述步骤S21至步骤S23相同,不再赘述。
步骤S54、第二通信客户端利用Windows窗口API函数创建对应第一通信客户端的消息窗口,同时第一通信客户端利用Windows窗口API函数创建对应第二通信客户端的消息窗口,第二通信客户端与第一通信客户端之间建立网络连接,第二通信客户端利用Windows Socket(套接字)API确认当前网络连接已建立成功,即可利用该网络连接进行数据包传输。
网络连接保持过程中,在第一通信客户端与第二通信客户端的用户界面上对应对端的图标位置对应显示有与对端保持网络连接的提示信息。
步骤S55、第二通信客户端将拒绝接受网络连接请求协议命令、自身的标识信息以及第一通信客户端的标识信息组合到数据包中,将该数据包发送给即时通信服务器,即时通信接收到该数据包后确认是拒绝接受网络连协议命令,将该数据包转发给第一通信客户端,第一客户端收到该数据包后,在用户界面上显示网络连接请求被拒绝的提示信息。
本发明中,当第一通信客户端或第二通信客户端捕获到对所述消息窗口的关闭操作时,若当前第一客户端与第二客户端之间保持网络连接,则第一通信客户端或第二通信客户端可隐藏对应对端的消息窗口,并继续保持与对方的网络连接。请参阅图6,该图为本发明在关闭消息窗口时继续保持网络连接的流程图,其主要实现过程为步骤S60、当第一通信客户端或第二通信客户端捕获到关闭对应对端的消息窗口的Windows消息WM_CLOSE时,第一通信客户端或第二通信客户端判断与对方的网络连接当前是否继续保持,若是,执行步骤S61,否则,执行步骤S64。
步骤S61、第一通信客户端或第二通信客户端显示是否继续保持网络连接的提示信息,若用户选择继续保持网络连接,则执行步骤S62,否则,执行步骤S64。
步骤S62、将Windows窗口显示API函数ShowWindow的参数设置为SW_HIDE,即对对应对端的消息窗口进行隐藏显示,同时建立该消息窗口句柄与其对应的客户端标识之间的Map映射关系数据结构,将消息窗口句柄与客户端标识的映射关系添加到Map关系表中保存;在消息窗口的隐藏过程中,第一通信客户端与第二通信客户端之间的网络连接一直保持。
步骤S63、当第一通信客户端捕获到针对第二通信客户端的恢复消息窗口操作时,或第二通信客户端捕获到针对第一通信客户端的恢复消息窗口操作时,根据所述操作针对的客户端标识查询步骤S62中建立的Map关系表,获取其对应的消息窗口句柄,若该消息窗口句柄有效则说明消息窗口处于隐藏状态,利用Windows窗口显示API函数ShowWindow,设置该函数的参数为SW_RESTORE,即可恢复显示相应的消息窗口。
步骤S64、利用Windows Sockets(套接字)API函数关闭当前网络连接,并通过即时通信服务器转发网络连接被断开的通知消息给对端,同时利用绘图函数DrawTaxt对用户界面上对应对端图标所在位置进行重新绘制,不再显示提示信息。
综上所述可知,本发明有效的分离了即时通信软件中的消息窗口与视频、语音或文件传输等网络连接过程的耦合关系,在网络连接双方中的任何一方执行关闭消息窗口的操作时,对消息窗口进行隐藏,并继续保持语音、视频或者文件传输的网络连接过程,使用户可以随时恢复消息窗口进行多媒体的交流与沟通,极大的方便了用户使用即时通信软件进行交流的过程,同时也为用户节约了大量的时间,极大提高了用户有效利用网络连接的效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求
及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种建立及保持客户端之间网络连接的方法,其特征在于,包括步骤A、第一通信客户端与第二通信客户端分别打开相互对应的消息窗口,并建立网络连接;B、在第一通信客户端或第二通信客户端捕获到对所述消息窗口的关闭操作时,若所述网络连接仍保持,则隐藏该消息窗口,并继续保持所述网络连接。
2.如权利要求
1所述的方法,其特征在于,所述步骤B中,在捕获到对所述消息窗口的关闭操作时,判断第一通信客户端与第二通信客户端之间是否保持网络连接,若是,则显示是否继续保持网络连接的提示信息,否则,关闭所述消息窗口,同时断开所述网络连接。
3.如权利要求
2所述的方法,其特征在于,所述步骤B中,当所述提示消息的反馈消息为继续保持所述网络连接时,隐藏所述消息窗口,并继续保持所述网络连接;当所述提示消息的反馈消息为断开所述网络连接时,关闭所述消息窗口,同时断开所述网络连接。
4.如权利要求
1所述的方法,其特征在于,所述步骤B中,隐藏所述消息窗口的同时,记录所述消息窗口句柄与其对应的客户端标识之间的映射关系。
5.如权利要求
4所述的方法,其特征在于,所述步骤B后还包括步骤当第一通信客户端捕获到针对第二通信客户端的恢复消息窗口操作时,或第二通信客户端捕获到针对第一通信客户端的恢复消息窗口操作时,根据所述操作针对的客户端标识获取其对应的消息窗口句柄,若该消息窗口句柄有效,则恢复显示相应的消息窗口。
6.如权利要求
1所述的方法,其特征在于,所述网络连接保持过程中,第一通信客户端与第二通信客户端的用户界面上显示与对端保持网络连接的提示信息。
7.如权利要求
1所述的方法,其特征在于,所述步骤A前还包括步骤第一通信客户端向第二通信客户端发送网络连接请求,同时显示正在发送网络连接请求的提示信息;第二通信客户端以提示信息形式显示接收到的网络连接请求,并选择接受该请求。
8.如权利要求
1所述的方法,其特征在于,所述步骤A具体包括步骤所述第一通信客户端打开与第二通信客户端对应的消息窗口,并向第二通信客户端发送网络连接请求;第二通信客户端以提示信息形式显示接收到的网络连接请求,并选择接受该请求,同时打开与第一通信客户端对应的消息窗口,与第一通信客户端建立网络连接。
9.如权利要求
1所述的方法,其特征在于,所述网络连接包括视频连接、音频连接及文件传输连接。
专利摘要
本发明公开了一种建立及保持客户端之间网络连接的方法,用以解决现有技术在即时通信过程中关闭与客户端对应的消息窗口时,与客户端的网络连接也会同时断开的问题。本发明在网络连接双方中的任何一方捕获到对对应对方的消息窗口的关闭操作时,若双方的网络连接仍保持,则隐藏该消息窗口,并继续保持该网络连接,使用户可以随时恢复消息窗口进行多媒体的交流与沟通,极大的方便了用户使用即时通信软件进行交流的过程,同时也为用户节约了大量的时间,极大提高了用户有效利用网络连接的效率。
文档编号H04L12/28GK1992605SQ200510132865
公开日2007年7月4日 申请日期2005年12月27日
发明者李斌 申请人:腾讯科技(深圳)有限公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1