CN102957709A - 一种融合通信系统中客户端高效检查可用服务器的方法及系统 - Google Patents
一种融合通信系统中客户端高效检查可用服务器的方法及系统 Download PDFInfo
- Publication number
- CN102957709A CN102957709A CN2012105152622A CN201210515262A CN102957709A CN 102957709 A CN102957709 A CN 102957709A CN 2012105152622 A CN2012105152622 A CN 2012105152622A CN 201210515262 A CN201210515262 A CN 201210515262A CN 102957709 A CN102957709 A CN 102957709A
- Authority
- CN
- China
- Prior art keywords
- server
- client application
- address
- packet
- udp
- 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.)
- Pending
Links
Images
Abstract
本发明提供一种融合通信系统中客户端高效检查可用服务器的方法,其包括以下步骤:S1、客户端应用接收用户启动指令并启动;S2、客户端应用同时向所有地址列表中的服务器发送检查请求;S3、所述所有服务器接收到所述检查请求后,分别将应答信息返回至所述客户端应用;S4、所述客户端应用将第一个收到的应答信息对应的服务器作为登录服务器。本发明将传统的客户端应用对多个服务器的串行查询改为并行查询,查询效率高,减少客户端应用花费在检查可用服务器上耗费的时间,改善了用户的使用感受。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种融合通信系统中,客户端高效检查可用服务器的方法,及用于实现该方法的系统。
背景技术
融合通信,Unified Communication,简称UC,也常翻译为统一通信。融合通信是指,把计算机技术与传统通信技术融合一体的新通信模式,融合计算机网络与传统通信网络在一个网络平台上,实现电话、传真、数据传输、音视频会议、呼叫中心、即时通信等众多应用服务。融合通信中,语音终端、PC上的客户端软件(之后将其统称为客户端应用),都需要连接或注册到服务器上才能正常工作。客户端应用常常都会存储一个可用服务器地址列表,在启动时去寻找一个可用的服务器去连接。
一般情况下,客户端应用会依次尝试连接服务器地址列表的地址,直到连接成功为止。比如一个客户端应用存储的服务器地址列表为:
序号 | 地址 | 备注 |
1 | 192.168.5.789:8080 | 公司总部 |
2 | www.ejiahe.com/repos | 广东珠海服务器 |
3 | www.sdserver/repos | 山东服务器 |
客户端应用在启动后,尝试连接序号为1的服务器地址,如果服务器在一定时间内(如30秒)无响应,则尝试连接序号为2的服务器地址,如此,直到找到可用的服务器地址为止。如果列表上的地址都尝试过,且无响应,则认为服务器不可达。
假设上面的服务器列表中,序号为3的服务器是可以连通的,序号1与序号2的服务器是不可达的,那么,客户端应用则需要花费1分钟的时间才能连接到服务器,之后才能正常工作。如果服务器列表中的地址数量比较多,那客户端应用在检查可用服务器所花费的时间会更多,给用户带来了不好的使用体验。
发明内容
有鉴于此,本发明所要解决的问题是提供一种检测服务器是否可用的机制,以减少客户端应用花费在检查可用服务器上耗费的时间,改善用户的使用感受。
本发明的目的是通过以下技术方案实现的:
一种融合通信系统中客户端高效检查可用服务器的方法,其包括以下步骤:
S1、客户端应用接收用户启动指令并启动;
S2、客户端应用同时向所有地址列表中的服务器发送检查请求;
S3、所述所有服务器接收到所述检查请求后,分别将应答信息返回至所述客户端应用;
S4、所述客户端应用将第一个收到的应答信息对应的服务器作为登录服务器。
所述S2,具体包括:
S21、所述客户端应用从本地存储读取服务器列表,并创建一个UDP SOCKET;
S22、所述客户端应用从所述服务器列表中按顺序读取一个服务器地址;
S23、所述客户端应用创建一个UDP 数据包,该数据包包括与所述检查请求对应的检查请求字符、本地IP地址及服务器IP地址;
重复S22和S23,直至为每个服务器均创建了一个对应的UDP 数据包;
S24、使用S21创建的UDP SOCKET,同时向每个服务器分别发送其所对应的UDP 数据包。
所述S3,具体包括:
S31、所述服务器接收到一个UDP数据包时,检查包内数据是否包含检查请求字符;
S32、如果判断结果为是,所述服务器将收到的UDP数据包的检查请求字符改成检查回应字符,将收到的UDP数据内的From IP地址与To IP地址交换位置后,从而将所述UDP数据包修改为应答包,再将该应答包返回至所述客户端应用。
所述S4,具体包括:
S41、所述客户端应用开始侦听S21创建的UDP SOCKET,等待服务器的应答包;
S42、如果超过预设的时间阈值还没有收到任何服务器的应答包,则回到S23,如果如此重复,达到或超过预设的次数阈值还没有收到任何服务器的应答包,则认为所有服务器都不可达,客户端应用终止;如果在所述时间阈值内,或者在所述次数阈值内,所述客户端应用接收到至少一个服务器的应答包,则所述客户端应用分析第一个收到的服务器应答包,使用应答包中的 “From:”指示的IP地址作为本次的登录服务器进行登录操作。
本发明还提供一种用于实现上述方法的系统,其包括:
客户应用端及地址列表中的多个服务器;
所述客户应用端包括一启动模块、一检查请求发送模块、一确认模块;
所述每一服务器分别包括一应答模块;
所述启动模块用于接收用户启动指令并启动;
所述检查请求发送模块用于向同时向所有地址列表中的服务器发送检查请求;
所述应答模块用于接收到所述检查请求后,分别将应答信息返回至所述客户端应用;
所述确认模块用于将第一个收到的应答信息对应的服务器作为登录服务器。
具体的,所述发送检查请求模块包括一创建单元、一读取单元、一数据包创建单元;
所述创建单元用于从本地存储读取服务器列表,并创建一个UDP SOCKET;
所述读取单元用于从所述服务器列表中按顺序读取所述多个服务器地址;
所述数据包创建单元用于分别为每个服务器创建一个UDP 数据包,每一数据包包括与所述检查请求对应的检查请求字符、本地IP地址及对应的服务器IP地址。
所述应答模块具体包括:
一检查判断单元、一应答单元;
所述检查判断单元用于当所述服务器接收到一个UDP数据包时,检查判断包内数据是否包含检查请求字符;
所述应答单元用于当判断结果为是时,将收到的UDP数据包的检查请求字符改成检查回应字符,将收到的UDP数据内的From IP地址与To IP地址交换位置后,从而将所述UDP数据包修改为应答包,再将该应答包返回至所述客户端应用。
所述确认模块,具体包括一侦听单元及一确认单元;
所述侦听单元用于侦听S21创建的UDP SOCKET,等待服务器的应答包;
所述确认单元用于:如果超过预设的时间阈值还没有收到任何服务器的应答包,则通知所述检查请求发送模块重新发送检查请求,如果如此重复,达到或超过预设的次数阈值还没有收到任何服务器的应答包,则认为所有服务器都不可达,客户端应用终止;如果在所述时间阈值内,或者在所述次数阈值内,接收到至少一个服务器的应答包,则分析第一个收到的服务器应答包,使用应答包中的 “From:”指示的IP地址作为本次的登录服务器进行登录操作。
与现有技术相比,本发明具备如下优点:
本发明将传统的客户端应用对多个服务器的串行查询改为并行查询,查询效率高,减少客户端应用花费在检查可用服务器上耗费的时间,改善了用户的使用感受。
附图说明
图1是本发明实施例一之流程图。
具体实施方式
实施例一:
本实施例提供一种融合通信系统中客户端高效检查可用服务器的方法,一种融合通信系统中客户端高效检查可用服务器的方法,其包括以下步骤:
S1、客户端应用接收用户启动指令并启动;
S2、客户端应用同时向所有地址列表中的服务器发送检查请求;
S3、所述所有服务器接收到所述检查请求后,分别将应答信息返回至所述客户端应用;
S4、所述客户端应用将第一个收到的应答信息对应的服务器作为登录服务器。
所述S2,具体包括:
S21、所述客户端应用从本地存储读取服务器列表,并创建一个UDP SOCKET;
S22、所述客户端应用从所述服务器列表中按顺序读取一个服务器地址;
S23、所述客户端应用创建一个UDP 数据包,该数据包包括与所述检查请求对应的检查请求字符、本地IP地址及服务器IP地址;
重复S22和S23,直至为每个服务器均创建了一个对应的UDP 数据包;
S24、使用S21创建的UDP SOCKET,同时向每个服务器分别发送其所对应的UDP 数据包。
所述S3,具体包括:
S31、所述服务器接收到一个UDP数据包时,检查包内数据是否包含检查请求字符;
S32、如果判断结果为是,所述服务器将收到的UDP数据包的检查请求字符改成检查回应字符,将收到的UDP数据内的From IP地址与To IP地址交换位置后,从而将所述UDP数据包修改为应答包,再将该应答包返回至所述客户端应用。
所述S4,具体包括:
S41、所述客户端应用开始侦听S21创建的UDP SOCKET,等待服务器的应答包;
S42、如果超过预设的时间阈值还没有收到任何服务器的应答包,则回到S24,如果如此重复,达到或超过预设的次数阈值还没有收到任何服务器的应答包,则认为所有服务器都不可达,客户端应用终止;如果在所述时间阈值内,或者在所述次数阈值内,所述客户端应用接收到至少一个服务器的应答包,则所述客户端应用分析第一个收到的服务器应答包,使用应答包中的 “From:”指示的IP地址作为本次的登录服务器进行登录操作。
实施例二:
本实施例提供一种用于实现实施例一所述的方法的系统,其包括:
客户应用端及地址列表中的多个服务器;
所述客户应用端包括一启动模块、一检查请求发送模块、一确认模块;
所述每一服务器分别包括一应答模块;
所述启动模块用于接收用户启动指令并启动;
所述检查请求发送模块用于向同时向所有地址列表中的服务器发送检查请求;
所述应答模块用于接收到所述检查请求后,分别将应答信息返回至所述客户端应用;
所述确认模块用于将第一个收到的应答信息对应的服务器作为登录服务器。
具体的,所述发送检查请求模块包括一创建单元、一读取单元、一数据包创建单元;
所述创建单元用于从本地存储读取服务器列表,并创建一个UDP SOCKET;
所述读取单元用于从所述服务器列表中按顺序读取所述多个服务器地址;
所述数据包创建单元用于分别为每个服务器创建一个UDP 数据包,每一数据包包括与所述检查请求对应的检查请求字符、本地IP地址及对应的服务器IP地址。
所述应答模块具体包括:
一检查判断单元、一应答单元;
所述检查判断单元用于当所述服务器接收到一个UDP数据包时,检查判断包内数据是否包含检查请求字符;
所述应答单元用于当判断结果为是时,将收到的UDP数据包的检查请求字符改成检查回应字符,将收到的UDP数据内的From IP地址与To IP地址交换位置后,从而将所述UDP数据包修改为应答包,再将该应答包返回至所述客户端应用。
所述确认模块,具体包括一侦听单元及一确认单元;
所述侦听单元用于侦听S21创建的UDP SOCKET,等待服务器的应答包;
所述确认单元用于:如果超过预设的时间阈值还没有收到任何服务器的应答包,则通知所述检查请求发送模块重新发送检查请求,如果如此重复,达到或超过预设的次数阈值还没有收到任何服务器的应答包,则认为所有服务器都不可达,客户端应用终止;如果在所述时间阈值内,或者在所述次数阈值内,接收到至少一个服务器的应答包,则分析第一个收到的服务器应答包,使用应答包中的 “From:”指示的IP地址作为本次的登录服务器进行登录操作。
Claims (8)
1.一种融合通信系统中客户端高效检查可用服务器的方法,其特征在于:其包括以下步骤:
S1、客户端应用接收用户启动指令并启动;
S2、客户端应用同时向所有地址列表中的服务器发送检查请求;
S3、所述所有服务器接收到所述检查请求后,分别将应答信息返回至所述客户端应用;
S4、所述客户端应用将第一个收到的应答信息对应的服务器作为登录服务器。
2.根据权利要求1所述的方法,其特征在于,所述S2,具体包括:
S21、所述客户端应用从本地存储读取服务器列表,并创建一个UDP SOCKET;
S22、所述客户端应用从所述服务器列表中按顺序读取一个服务器地址;
S23、所述客户端应用创建一个UDP 数据包,该数据包包括与所述检查请求对应的检查请求字符、本地IP地址及服务器IP地址;
重复S22和S23,直至为每个服务器均创建了一个对应的UDP 数据包;
S24、使用S21创建的UDP SOCKET,同时向每个服务器分别发送其所对应的UDP 数据包。
3.根据权利要求2所述的方法,其特征在于,所述S3,具体包括:
S31、所述服务器接收到一个UDP数据包时,检查包内数据是否包含检查请求字符;
S32、如果判断结果为是,所述服务器将收到的UDP数据包的检查请求字符改成检查回应字符,将收到的UDP数据内的From IP地址与To IP地址交换位置后,从而将所述UDP数据包修改为应答包,再将该应答包返回至所述客户端应用。
4.根据权利要求3所述的方法,其特征在于,所述S4,具体包括:
S41、所述客户端应用开始侦听S21创建的UDP SOCKET,等待服务器的应答包;
S42、如果超过预设的时间阈值还没有收到任何服务器的应答包,则回到S23,如果如此重复,达到或超过预设的次数阈值还没有收到任何服务器的应答包,则认为所有服务器都不可达,客户端应用终止;如果在所述时间阈值内,或者在所述次数阈值内,所述客户端应用接收到至少一个服务器的应答包,则所述客户端应用分析第一个收到的服务器应答包,使用应答包中的 “From:”指示的IP地址作为本次的登录服务器进行登录操作。
5.一种融合通信系统中客户端高效检查可用服务器的系统,其特征在于,其包括:
客户应用端及地址列表中的多个服务器;
所述客户应用端包括一启动模块、一检查请求发送模块、一确认模块;
所述每一服务器分别包括一应答模块;
所述启动模块用于接收用户启动指令并启动;
所述检查请求发送模块用于向同时向所有地址列表中的服务器发送检查请求;
所述应答模块用于接收到所述检查请求后,分别将应答信息返回至所述客户端应用;
所述确认模块用于将第一个收到的应答信息对应的服务器作为登录服务器。
6.根据权利要求5所述的系统,其特征在于,所述发送检查请求模块包括一创建单元、一读取单元、一数据包创建单元;
所述创建单元用于从本地存储读取服务器列表,并创建一个UDP SOCKET;
所述读取单元用于从所述服务器列表中按顺序读取所述多个服务器地址;
所述数据包创建单元用于分别为每个服务器创建一个UDP 数据包,每一数据包包括与所述检查请求对应的检查请求字符、本地IP地址及对应的服务器IP地址。
7.根据权利要求6所述的系统,其特征在于,所述应答模块包括:
一检查判断单元、一应答单元;
所述检查判断单元用于当所述服务器接收到一个UDP数据包时,检查判断包内数据是否包含检查请求字符;
所述应答单元用于当判断结果为是时,将收到的UDP数据包的检查请求字符改成检查回应字符,将收到的UDP数据内的From IP地址与To IP地址交换位置后,从而将所述UDP数据包修改为应答包,再将该应答包返回至所述客户端应用。
8.根据权利要求7所述的系统,其特征在于,所述确认模块包括一侦听单元及一确认单元;
所述侦听单元用于侦听S21创建的UDP SOCKET,等待服务器的应答包;
所述确认单元用于:如果超过预设的时间阈值还没有收到任何服务器的应答包,则通知所述检查请求发送模块重新发送检查请求,如果如此重复,达到或超过预设的次数阈值还没有收到任何服务器的应答包,则认为所有服务器都不可达,客户端应用终止;如果在所述时间阈值内,或者在所述次数阈值内,接收到至少一个服务器的应答包,则分析第一个收到的服务器应答包,使用应答包中的 “From:”指示的IP地址作为本次的登录服务器进行登录操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105152622A CN102957709A (zh) | 2012-12-05 | 2012-12-05 | 一种融合通信系统中客户端高效检查可用服务器的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105152622A CN102957709A (zh) | 2012-12-05 | 2012-12-05 | 一种融合通信系统中客户端高效检查可用服务器的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102957709A true CN102957709A (zh) | 2013-03-06 |
Family
ID=47765934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105152622A Pending CN102957709A (zh) | 2012-12-05 | 2012-12-05 | 一种融合通信系统中客户端高效检查可用服务器的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102957709A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841577A (zh) * | 2010-06-07 | 2010-09-22 | 中兴通讯股份有限公司 | 一种实现域名解析代理功能的方法和装置 |
CN102340554A (zh) * | 2011-09-29 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
-
2012
- 2012-12-05 CN CN2012105152622A patent/CN102957709A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841577A (zh) * | 2010-06-07 | 2010-09-22 | 中兴通讯股份有限公司 | 一种实现域名解析代理功能的方法和装置 |
CN102340554A (zh) * | 2011-09-29 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712485B (zh) | 一种物联网设备的资源订阅方法和装置 | |
CN102958008B (zh) | 一种实现即时通讯的方法、系统和移动终端 | |
CN102209302A (zh) | 一种实现移动终端信息推送的系统及方法 | |
US9065788B2 (en) | Method, device and system for voice communication | |
CN103973461A (zh) | 一种通知消息的推送方法及消息服务器 | |
CN101631388B (zh) | 一种基于无线网络的多方视频共享方法及系统 | |
CN102244845B (zh) | 访问im业务系统存储服务器的方法和im业务系统 | |
US10320951B2 (en) | Systems and methods for establishing a virtual local area network | |
US20120297031A1 (en) | Anonymous Signalling | |
US20140214963A1 (en) | Method, server and system for data sharing in social networking service | |
CN103209247A (zh) | 一种信息显示的方法和系统以及终端和服务器 | |
CN103812900A (zh) | 一种数据同步方法、装置及系统 | |
US8988487B2 (en) | Cloud video exchanging conference device | |
CN102185701A (zh) | 一种实现群组信息交互的方法及系统 | |
CN103716230A (zh) | 消息发送方法、装置及服务器 | |
WO2014176891A1 (en) | Method, device and system for voice communication | |
CN103561063A (zh) | 一种登录机顶盒的方法及终端 | |
US20130188559A1 (en) | Method for Establishing a Communication Connection over the Internet Between Mobile Terminals, Computer Program, and Storage Medium | |
CN102255897A (zh) | 一种基于wap技术的im系统及即时通信方法 | |
CN103997437A (zh) | 一种测试云服务器注册功能的方法 | |
CN103036762A (zh) | 即时通信中的信息处理方法和装置 | |
CN102932214B (zh) | 一种家庭网络异构媒体设备的发现聚合方法 | |
CN105721274A (zh) | 一种多种即时通讯的融合方法及装置 | |
CN105391702A (zh) | 音/视频通信方法、终端、服务器及平台 | |
CN110034979A (zh) | 一种代理资源监测方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130306 |