一种客户端与应用服务器间进行通信的方法和系统的制作方法

文档序号:7980599阅读:261来源:国知局
一种客户端与应用服务器间进行通信的方法和系统的制作方法
【专利摘要】本发明公开一种客户端与应用服务器间进行通信的方法和系统,所述方法包括:客户端与共享点服务器建立连接后,共享点服务器记录所述连接的相关信息,并在客户端与应用服务器间转发消息,记录的连接所用的资源在建立新连接时不被使用;当共享点服务器与客户端间连接中断时,共享点服务器在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源;当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接;中断超过预设时长后,客户端与共享点服务器间建立新连接。本发明能够解决连接资源浪费,以及由于识别多个连接是否出自同一客户端而造成的额外IO处理的问题。
【专利说明】一种客户端与应用服务器间进行通信的方法和系统
【技术领域】
[0001]本发明涉及通信领域,特别涉及一种客户端与应用服务器间进行通信的方法和系统。
【背景技术】
[0002]当前客户端与应用服务器通信时,可以依靠HTTP的通信方式。例如网页版客户端与应用服务器通信间便可应用HTTP进行通信。当客户端需要不断向应用服务器请求数据时,每次都要为HTTP的请求与应答准备大容量的数据包资源。打开一次的HTTP通信通道只能使用一次不能复用。因此存在缺陷,利用HTTP通信网络流量加大、负荷高、通信通道的资源利用率低。基于HTML5的WebSocket(网站端点),WebSocket为全双工通信,该技术可以在客户端与应用服务器之间分别建立各自的Socket (端点)互相连接。通过TCP/IP数据包传输数据。现有技术中HTTP的单工通道通信与WebSocket双通道通信比较如图10所示。请求连接时,HTTP每次通信都要新建立连接,仅传输一次数据,即关闭连接IebSocket仅一次连接成功后建立通道,可多次传输数据,不关闭连接。就通信通道而言,HTTP单向通信,只能浏览器请求,应用服务器应答IebSocket双向通信,应用服务器也可以主动向客户端发送数据。就广播而言,HTTP不支持广播,应用服务器只能应答一个浏览器请求;WebSocket可以广播可以向所有已连接的客户端发送数据。就数据包大小而言,WebSocket比HTTP数据包小。
[0003]一举例中,HTTP数据包如下所示:
[0004]HTTP Request Headers
[0005]POST/webim/login.aspx HTTP/1.1
[0006]Host:webim.feixin.10086.cn
[0007]Connection: keep-alive
[0008]User-Agent: Mozi I la/5.0 (Windows; U; Windows NT6.0; en-US)
[0009]AppleWebKit/532.5(KHTML, like Gecko)Chrome/4.1.249.1064
[0010]Safari/532.5
[0011]Referer:
[0012]http://webim.feixin.10086.cn/webim/login.aspx?u=2038382&p=7F5E66657B938E2el
[0013]Content-Length: 134`
[0014]Origin:http: //webim.feixin.10086.cn
[0015]Content-Type: text/plain;charset=utf_8
[0016]Accept:*/*
[0017]Accept-Encoding:gzip, deflate, sdch
[0018]Accep t-Language: en-US, en; q=0.8
[0019]Accept-Charset:1S0-8859-1, utf-8; q=0.7,*; q=0.3[0020]Cookie:
[0021]—utmz=247824721.1273102477.1.1.utmcsr=(di rect) |utmccn=(di rect)|utmcmd
[0022]=(none);JSESS10NID=E7AAE0E60B01FB88D1E3799FAD5C62B3;
[0023]_utma=247824721.1247485893.1273102477.1273104838.127310768
[0024]=(none);JSESS10NID=E7AAE0E60B01FB88D1E3799FAD5C62B3;
[0025]_utma=247824721.1247485893.1273102477.1273104838.1273107686.3;
[0026]_utmc=247824721;_utmb=247824721.4.10.127
[0027]WebSocket数据包如下所示:
[0028]GET/ffebIM5?uaid=200665352p8912&s=b HTTP/1.1
[0029]Upgrade:WebSocket
[0030]Connection: Upgrade
[0031 ]Host: 192.168.110.165:5002
[0032]Origin:http://10.10.150.78
[0033]Sec-WebSocket-Keyl:3G`8}R7804\490(5
[0034]Sec-ffebSocket-Key2:<388<3379e017
[0035]"n:ds[4U
[0036]相比较,WebSocket比HTTP更加节省带宽资源,性能更优。但是,WebSocket中每次客户端的网页加载、被刷新、关闭网页,都会导致Socket的中断,一但中断下次就要重新连接。
[0037]因此存在缺陷:应用服务器会不断与客户端之间产生新的连接通道。会造成大量连接资源的消耗。而且为识别多个连接是否是出自同一客户端造成额外的10处理。

【发明内容】

[0038]本发明提供的客户端与应用服务器间进行通信的方法和系统,以解决连接资源浪费,以及由于识别多个连接是否出自同一客户端而造成的额外10处理的问题。
[0039]本发明首先提供一种客户端与应用服务器间进行通信的方法,所述方法包括:
[0040]客户端与共享点服务器建立连接后,共享点服务器记录所述连接的相关信息,并在客户端与应用服务器间转发消息,记录的连接所用的资源在建立新连接时不被使用;
[0041]当共享点服务器与客户端间连接中断时,共享点服务器在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源;
[0042]当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接;中断超过预设时长后,客户端与共享点服务器间建立新连接。
[0043]较佳的,所述共享点服务器在预设时长内保留所述连接的记录具体可以包括:
[0044]共享点服务器根据中断的类型,在所述类型对应的预设时长内保留所述连接的记录。
`[0045]较佳的,所述当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接具体可以包括:
[0046]客户端判断中断时长没有超过预设时长后,向共享点服务器发送连接的标识;共享点服务器根据连接标识查找到所述连接的记录,并按所述记录重建连接。
[0047]较佳的,所述中断超过预设时长后,客户端与共享点服务器间建立新连接具体可以包括:
[0048]客户端判断中断超过预设时长后,客户端向共享点服务器发送建立新连接的请求;共享点服务器接收请求,建立新连接。
[0049]较佳的,所述共享点服务器在预设时长内保留所述连接的记录后还可以包括:
[0050]共享点服务器在预设时长内保持客户端在应用服务器上在线。
[0051]较佳的,所述方法还可以包括:
[0052]如果中断持续时长在客户端等于预设时长,则客户端询问共享点服务器客户端是否在线,如果不在线,则共享点服务器模拟客户端在应用服务器上完成登录。
[0053]较佳的,所述客户端可以为网页版应用;客户端与共享点服务器间连接通道所用协议为网站端点协议WebSocket。
[0054]其次,本发明还提供了一种客户端与应用服务器间进行通信的系统,所述系统包括客户端、共享点服务器和应用服务器:
[0055]客户端与共享点服务器连接,共享点服务器与应用服务器连接;
[0056]客户端,用于在连接的中断没有超过预设时长时,重建连接,连接的中断超过预设时长后,与共享点服务器建立新连接;
[0057]共享点服务器包括:
[0058]连接管理模块,用于在客户端与共享点服务器建立连接后,记录所述连接的相关信息,记录的连接所用的资源在建立新连接时不被使用,并在共享点服务器与客户端间连接中断时,在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源;
[0059]转发模块,用于在客户端与共享点服务器建立连接后,在客户端与应用服务器间转发消息;
[0060]连接重建模块,用于当客户端在预设时长内重建所述连接时,按记录的所述连接的相关信息重建所述连接。
[0061]较佳的,所述连接管理模块具体可以用于:根据中断的类型,在所述类型对应的预设时长内保留所述连接的记录。
[0062]较佳的,客户端具体可以用于:判断连接中断的时长没有超过预设时长后,向共享点服务器发送连接的标识;所述连接重建模块具体可以用于:根据连接标识查找到所述连接的记录,并按所述记录重建连接。
[0063]本发明实施例的有益效果是:通过共享点服务器记录所述连接的相关信息,当共享点服务器与客户端间连接中断时,共享点服务器在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源,当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接的方式使用共享点服务器对连接进行管理,能够避免连接资源浪费,以及避免由于识别多个连接是否出自同一客户端而造成的额外IO处理。
【专利附图】

【附图说明】[0064]图1为本发明客户端与应用服务器间进行通信的方法流程图。
[0065]图2为本发明实施例的架构图。
[0066]图3为本发明实施例中应用的客户端首次运行的流程图。
[0067]图4为本发明实施例中应用的客户端切换到后台运行的流程图。
[0068]图5为本发明实施例中应用的客户端切换到前台运行的流程图。
[0069]图6为本发明实施例中实现连接的代码的类图。
[0070]图7为本发明实施例中实现休眠队列管理代码的类图。
[0071]图8为本发明实施例中实现休眠时消息发送管理代码的类图。
[0072]图9为本发明客户端与应用服务器间进行通信的系统的结构图。
[0073]图10为现有技术HTTP的单工通道通信与WebSocket双通道通信比较示意图。
【具体实施方式】
[0074]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0075]参见图1,为本发明提供的客户端与应用服务器间进行通信的方法流程图。
[0076]所述方法包括如下步骤。
[0077]步骤S100,客户端与共享点服务器建立连接后,共享点服务器记录所述连接的相关信息,并在客户端与应用服务器间转发消息,记录的连接所用的资源在建立新连接时不被使用。
[0078]步骤S200,当共享点服务器与客户端间连接中断时,共享点服务器在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源。
[0079]步骤S300,当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接;中断超过预设时长后,客户端与共享点服务器间建立新连接。
[0080]本发明的方法能够避免连接资源浪费,以及避免由于识别多个连接是否出自同一客户端而造成的额外IO处理。
[0081]在一较佳的实施方式中,所述共享点服务器在预设时长内保留所述连接的记录具体包括:共享点服务器根据中断的类型,在所述类型对应的预设时长内保留所述连接的记录。
[0082]例如,如果中断的类型为网络断路,则预设时长为5分钟;如果中断类型为切换到后台,则预设时长为6小时。
[0083]由此,能够根据中断类型灵活配置类型对应的预设时长,从而针对不同中断类型的情况,为客户端保留连接记录。
[0084]在一较佳的实施方式中,所述当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接具体包括:客户端判断中断时长没有超过预设时长后,向共享点服务器发送连接的标识;
[0085]共享点服务器根据连接标识查找到所述连接的记录,并按所述记录重建连接。
[0086]其中,共享点服务器根据连接标识进行记录查询,举例而言连接标识可以为:会话标识+终端标识。[0087]在一较佳的实施方式中,所述中断超过预设时长后,客户端与共享点服务器间建立新连接具体包括:客户端判断中断超过预设时长后,客户端向共享点服务器发送建立新连接的请求;共享点服务器接收该请求建立新连接。
[0088]在一较佳的实施方式中,所述共享点服务器在预设时长内保留所述连接的记录后还包括:共享点服务器在预设时长内保持客户端在应用服务器上在线。
[0089]由此,保证客户端恢复连接后,应用交互的正常进行。
[0090]在一较佳的实施方式中,所述方法还包括:
[0091]如果中断持续时长在客户端等于预设时长,则客户端询问共享点服务器客户端是否在线,如果不在线,则共享点服务器模拟客户端在应用服务器上完成登录。
[0092]在客户端或应用服务器的计时存在误差时,当客户端计时为中断持续时长等于预设时长,而应用服务器中因为中断持续时长的计时大于预设时长,而将客户端下线。通过上述方式,能够既完成重新登录又使得客户端的用户没有感知到客户端的连接中断。
[0093]在一较佳的实施方式中,所述客户端为网页版应用;
[0094]客户端与共享点服务器间连接通道所用协议为网站端点协议websocket。
[0095]如前所述,websocket为性能更优的通信技术,本发明优选该通信技术为连接通道所用协议。
[0096]实施例
[0097]本发明实施例的架构如图2所示。在实施例中,终端为苹果终端,苹果终端中包括推送应用和客户端。推送应用为Apple App (苹果应用)模式,客户端为网页版即时通讯应用的客户端,Web App (网页应用)模式。共享点服务器为WSS (微软共享点服务器),推送服务器为APNS (苹果推送服务器)。
[0098]APNS向苹果终端的推送应用推送通知消息,推送应用收到通知消息后,会发出声音提示并弹出一个提示窗,告知使用者某应用有最新消息通知,提示用户将该应用打开查看。
[0099]虽然本发明为涉及客户端与应用服务器连接的方法,对客户端在后台的运行处理没有限制。但是作为一个完整的实施例,本实施例中给出客户端在后台时的推送处理。
[0100]本发明实施例中应用的客户端首次运行的流程如图3所示。
[0101]使用已注册的苹果开发者的苹果ID,创建一个苹果软件ID。可以从苹果网站的IOS开发中心下载安全证书。依靠这个证书导出的.P12格式的文件,.pl2文件用于加密设备Token (标识)码和要发送的通知消息内容。
[0102]步骤S301,即时通讯网页版客户端在网页中用javascript (脚本)注册一个事件例如WebViewJavascriptBridgeReady。推送应用调用此事件并传入参数。
[0103]第一次打开软件后,WebViewJavascriptBridge被推送应用触发,传入的参数message(消息)值为:’ token’ +设备Token码。推送应用在此通过参数传入获知设备标识。此处,推送应用完成推送以外的获知设备信息的功能。该推送应用可以为客户端自带功能。本发明客户端获得设备标识的方式不限于此。
[0104]即时通信应用的用户通过即时通信网页版成功登录即时通信客户端。
[0105]本实施例可以通过如下代码实现所述操作。
[0106]document.addEventLis tener(fWebViewJavascriptBridgeReady/, onBri
[0107]
dgeReady, false);
function onBridgeReady () {
WebViewJavascriptBridge.setMessageHandler (funct ion
(message) {

var firstmessage = message, substr(0, ”
switch (firstmessage) {
case 'fromb':
//从后台唤醒时入前台运行
break;
case ' token':
//第一次进入软件
break;


}
});`
}`[0108]步骤S302,客户端创建到WSS的WebSocket (网站端点)连接,建立双向通信通道,进行登录。
[0109]即时通讯应用网页版客户端在网页中使用javascript创建WebSocket,与WSS服
务建立双向通信通道。实施例中通过如下代码实现。
[0110]
var host = "ws: //localhost: 80/webimv5?u=20382983";
var socket = new WebSocket (host);
socket, onopen = function() {
message C Socket Status: ' +socket.readyState+/ 0pen/);
}
socket, onmessage = funct ion (msg) {
message {' Received: ' +msg.data);
}
socket, onclose = function() {
message (/ Socket Status: ' +socket.readyState+^ Close');
[0111]}
socket, onerror = function () {

message (/ Socket Error: ' +socket.readyState);
}
[0112]WSS 根据用户的 SessionId (会话 ID) \UserAgentId (用户代理 ID) \ 设备 Token码(设备标识码),在内存中建立一个SocketConnDic (当前连接)集合,类型为:Dictionary<string, SocketConnection〉。集合中记录建立的连接相关信息,以管理全部已连接的WebSocket客户端信息。
[0113]记录的连接的相关信息用SessionId进行标识,记录的连接对应的信息包括:连接所用资源信息(即连接相关信息)和使用连接的客户端用户的信息。即SocketConnection中记录了 WebSocket连接的信息和即时通信应用的用户信息。本发明实施例中实现连接的代码的类图如图6所示。
[0114]步骤S303,WSS通知应用服务器用户登录,开始下发数据。
[0115]步骤S304,应用服务器通知用户登录成功,并开始下发数据。
[0116]步骤S305,WSS通知客户端用户登录成功,发送数据。
[0117]步骤S306,客户端通知推送应用,登录成功。
[0118]步骤S307,应用服务器向WSS下发轮询数据。
[0119]步骤S308,WSS向客户端发送轮询数据。
[0120]步骤S309,客户端向WSS发送心跳Ke印Live。
[0121]KeepAlive:即时通信应用客户端维持在线的功能,即时通信网页版客户端会定时发送KeepAlive数据包到WSS。
[0122]步骤S310,WSS向应用服务器发送Ke印Live。
[0123]步骤S311,应用服务器向WSS发送确认在线成功。
[0124]步骤S312,WSS向客户端发送确认在线成功。
[0125]客户端依靠WebSocket连接向WSS服务获取即时通信应用的用户的新轮询数据,轮询数据包括新消息、好友添加消息、好友状态变化、好友个人资料变化等。
[0126]本发明实施例中应用的客户端切换到后台运行的流程如图4所示。
[0127]步骤S401,推送应用通知WSS客户端切入后台。
[0128]当苹果终端使用者按下Home键或是切换到其它应用程序。即时通信应用网页版客户端会变为后台运行。
[0129]Home键是苹果终端,例如iPad,屏幕上唯一的一个按钮。Home键的功能很多,例如:退出应用程序、导航到iPad2的第一页及开启Dock (执行中的工具栏)等等,Home键的使用频率相当多。
[0130]此时推送应用会向WSS发送Post请求应用服务器的WebIM/SetAPNSAddUser.aspx,并传入参数,参数message值为:’token’+即时通信应用的用户ID。
[0131]步骤S402,WSS收到切换到后台通知后,通过应用服务器客户端为休眠状态。
[0132]步骤S403,应用服务器开始为客户端保存更新消息,并通知WSS休眠成功。
[0133]步骤S404,WSS将客户端的WebSocket的连接从SocketConnDict集合中移到WSApnsUserDict集合(休眠集合)中。
[0134]WSApnsUserDict 集合类型为 Dictionary〈string, ApnsUserInfo〉。
[0135]步骤S405,WSS代替客户端向应用服务器发送轮询。
[0136]步骤S406,应用服务器向WSS发送更新消息。
[0137]步骤S407,在WSS中休眠的WebSocket连接,再收到即时通信应用新消息,则判断消息类型,如果是 PollResultDataType.MessagePushType,则通过 MPAManager 发送到APNS。
[0138]步骤S408,APNS推送通知消息到苹果终端的推送应用。
[0139]步骤S409,推送应用等待重新开启客户端。
[0140]WSS还代替即时通信应用客户端向应用服务器发送Ke印Al ive。
[0141]心跳时间维持六小时,如果即时通信应用客户端未能唤醒程序,则使得应用服务器执行客户端的用户下线。
[0142]本发明实施例中应用的客户端切换到前台运行的流程如图5所示。
[0143]步骤S501,推送应用向客户端发送消息。
[0144]当切换即时通信应用网页版客户端为前台运行时,推送应用会调用WebViewJavascriptBridge 事件并传入参数,参数 message 值为:’ frombackground' + 即时通信应用的用户ID。
[0145]步骤S502,推送应用清除APNS消息推送的计数为O。
[0146]步骤S503,客户端与WSS重建连接,向WSS发送连接标识和中断类型。
[0147]本实施例中,连接标识为SessionId+设备token。中断类型为切换到后台中断。
[0148]即时通信应用网页版客户端会判断之前在后台运行的时间。
[0149]如果超过六小时,贝U表示WSS已回收之前的WebSocket连接。只能新建一个新的WebSocket 连接;
[0150]如果未超过六小时,则请求WSS执行步骤S503和步骤S504,唤醒之前的WebSocket连接信息。
[0151]步骤S504,WSS将连接从休眠队列中移入当前连接集合。
[0152]将休眠的WebSocket 连接从 WSApnsUserDict 集合中移到 SocketConnDict 集合。
[0153]步骤S505,WSS通知应用服务器休眠结束,客户端已经唤醒。
[0154]步骤S506,应用服务器向WSS发送客户端的更新消息。
[0155]更新消息包括客户端在后台期间的好友更新信息以及聊天信息。
[0156]步骤S507,WSS通过WebSocket连接转发更新消息到即时通信应用的客户端。
[0157]步骤S508,客户端发送轮询和心跳。
[0158]恢复即时通信应用网页版客户端发送轮询及KeepAlive。
[0159]步骤S509,WSS向应用服务器转发轮询及心跳。
[0160]步骤S510,应用服务器下发更新消息。
[0161]步骤S511, WSS将更新消息通过WebSocket连接向客户端转发更新消息。
[0162]一种客户端与应用服务器间进行通信的系统如图9所示。
[0163]所述系统包括:客户端100、共享点服务器200、和应用服务器300。
[0164]客户端100与共享点服务器200连接,共享点服务器200与应用服务器300连接。[0165]客户端100,用于在连接的中断没有超过预设时长时,重建连接,连接的中断超过预设时长后,与共享点服务器200建立新连接。
[0166]共享点服务器200包括:
[0167]连接管理模块210,用于在客户端100与共享点服务器200建立连接后,记录所述连接的相关信息,记录的连接所用的资源在建立新连接时不被使用,并在共享点服务器200与客户端100间连接中断时,在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源。
[0168]转发模块220,用于在客户端100与共享点服务器200建立连接后,在客户端100与应用服务器300间转发消息。
[0169]连接重建模块230,用于当客户端100在预设时长内重建所述连接时,按记录的所述连接的相关信息重建所述连接。
[0170]在一较佳的实施方式中,所述连接管理模块210具体用于:根据中断的类型,在所述类型对应的预设时长内保留所述连接的记录。
[0171]在一较佳的实施方式中,客户端100具体用于:判断连接中断的时长没有超过预设时长后,向共享点服务器200发送连接的标识;
[0172]所述连接重建模块230具体用于:根据连接标识查找到所述连接的记录,并按所述记录重建连接。
[0173]在一较佳的实施方式中,客户端100用于:判断中断超过预设时长后,向共享点服务器200发送建立新连接的请求;
[0174]连接管理模块210用于:接收请求,建立新连接。
[0175]在一较佳的实施方式中,所述连接管理模块210还用于:在预设时长内保持客户端100在应用服务器300上在线。
[0176]在一较佳的实施方式中,客户端100还用于:中断持续时长在客户端100等于预设时长时,询问共享点服务器200客户端100是否在线;
[0177]连接管理模块210还用于:接收客户端100的询问,如果客户端100不在线,则模拟客户端100在应用服务器300上完成登录。
[0178]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种客户端与应用服务器间进行通信的方法,其特征在于,所述方法包括: 客户端与共享点服务器建立连接后,共享点服务器记录所述连接的相关信息,并在客户端与应用服务器间转发消息,记录的连接所用的资源在建立新连接时不被使用; 当共享点服务器与客户端间连接中断时,共享点服务器在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源; 当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接;中断超过预设时长后,客户端与共享点服务器间建立新连接。
2.根据权利要求1所述的方法,其特征在于, 所述共享点服务器在预设时长内保留所述连接的记录具体包括: 共享点服务器根据中断的类型,在所述类型对应的预设时长内保留所述连接的记录。
3.根据权利要求1所述的方法,其特征在于, 所述当客户端在预设时长内重建所述连接时,共享点服务器按记录的所述连接的相关信息重建所述连接具体包括: 客户端判断中断时长没有超过预设时长后,向共享点服务器发送连接的标识; 共享点服务器根据连接标识查找到所述连接的记录,并按所述记录重建连接。
4.根据权利要求1所述的方法,其特征在于,` 所述中断超过预设时长后,客户端与共享点服务器间建立新连接具体包括: 客户端判断中断超过预设时长后,客户端向共享点服务器发送建立新连接的请求; 共享点服务器接收请求,建立新连接。
5.根据权利要求1所述的方法,其特征在于, 所述共享点服务器在预设时长内保留所述连接的记录后还包括: 共享点服务器在预设时长内保持客户端在应用服务器上在线。
6.根据权利要求5所述的方法,其特征在于, 所述方法还包括: 如果中断持续时长在客户端等于预设时长,则客户端询问共享点服务器客户端是否在线,如果不在线,则共享点服务器模拟客户端在应用服务器上完成登录。
7.根据权利要求1所述的方法,其特征在于, 所述客户端为网页版应用; 客户端与共享点服务器间连接通道所用协议为网站端点协议WebSocket。
8.一种客户端与应用服务器间进行通信的系统,其特征在于,所述系统包括客户端、共享点服务器和应用服务器: 客户端与共享点服务器连接,共享点服务器与应用服务器连接; 客户端,用于在连接的中断没有超过预设时长时,重建连接,连接的中断超过预设时长后,与共享点服务器建立新连接; 共享点服务器包括: 连接管理模块,用于在客户端与共享点服务器建立连接后,记录所述连接的相关信息,记录的连接所用的资源在建立新连接时不被使用,并在共享点服务器与客户端间连接中断时,在预设时长内保留所述连接的记录,超过预设时长后,删除所述记录,并释放连接所用资源;转发模块,用于在客户端与共享点服务器建立连接后,在客户端与应用服务器间转发消息; 连接重建模块,用于当客户端在预设时长内重建所述连接时,按记录的所述连接的相关信息重建所述连接。
9.根据权利要求8所述的系统,其特征在于, 所述连接管理模块具体用于:根据中断的类型,在所述类型对应的预设时长内保留所述连接的记录。
10.根据权利要求8所述的系统,其特征在于, 客户端具体用于:判断连接中断的时长没有超过预设时长后,向共享点服务器发送连接的标识; 所述连接重建模块具体用于:根据连接标识查找到所述连接的记录,并按所述记录重建连接。`
【文档编号】H04L29/08GK103516766SQ201210227199
【公开日】2014年1月15日 申请日期:2012年6月30日 优先权日:2012年6月30日
【发明者】张宗启 申请人:北京神州泰岳软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1