CN102255895A - 客户端和服务端之间的数据通信方法及系统 - Google Patents
客户端和服务端之间的数据通信方法及系统 Download PDFInfo
- Publication number
- CN102255895A CN102255895A CN2011101790615A CN201110179061A CN102255895A CN 102255895 A CN102255895 A CN 102255895A CN 2011101790615 A CN2011101790615 A CN 2011101790615A CN 201110179061 A CN201110179061 A CN 201110179061A CN 102255895 A CN102255895 A CN 102255895A
- Authority
- CN
- China
- Prior art keywords
- service end
- client
- request
- proxy server
- communication proxy
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及计算机通信技术领域,特别涉及一种客户端和服务端之间的数据通信方法及系统,其方法包括以下步骤:S1:通信代理服务器接收客户端程序所发送的连接服务端的请求;S2:所述通信代理服务器将所述连接服务端的请求转发至服务端,并接收来自所述服务端的响应;S3:所述通信代理服务器将所述服务端的响应发送至所述客户端程序。本发明通过在客户端和服务端之间设置通信代理服务器,使所有要和服务端进行通信的客户端程序只需连接所述通信代理服务器即可,数据转发、数据的加密解密和排队等工作均由所述通信代理服务器进行处理,降低了程序的复杂度,提高了可维护性。
Description
技术领域
本发明涉及计算机通信技术领域,特别涉及一种客户端和服务端之间的数据通信方法及系统。
背景技术
目前,在一台电脑(客户端)上会安装不同的应用程序,每个应用程序都需要通过与其相对应的客户端程序,才能实现与服务端之间的通信、数据传输。若客户端程序的通信需求有所变更时,则需要对相应的客户端程序进行修改,但对客户端程序进行修改的风险非常高,使客户端程序的复杂度也相应增加,并且降低了客户端程序的可维护性,提高了成本。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何实现在客户端程序的通信需求有所变更时,不修改客户端程序就可满足客户端程序的通信需求。
(二)技术方案
为解决上述技术问题,本发明提供了一种客户端和服务端之间的数据通信方法,包括以下步骤:
S1:通信代理服务器接收客户端程序所发送的连接服务端的请求;
S2:所述通信代理服务器将所述连接服务端的请求转发至服务端,并接收来自所述服务端的响应;
S3:所述通信代理服务器将所述服务端的响应发送至所述客户端程序。
优选地,步骤S1之前,还包括步骤:
S0:判断客户端程序是否成功连接所述通信代理服务器,若是,则直接执行步骤S1,若否,则每隔预定时间进行重新连接,直至连接成功后,再执行步骤S1。
优选地,所述通信代理服务器按照预设优先级发送所述请求。
优选地,步骤S2中,所述通信代理服务器通过队列向所述服务端发送请求,按照所述预设优先级分别将所述请求送入相应队列的队尾,在发送时按照所述预设优先级由高至低发送相应的队列中的请求。
优选地,所述队列的数量与所述请求的预设优先级的类型的数量相同。
优选地,所述预设优先级包括:高、标准和低三种类型。
优选地,在步骤S2中,所述通信代理服务器发送所述连接服务端的请求至服务端后,还包括步骤:
所述通信代理服务器判断所述连接服务端的请求是否发送成功,若是,则接收来自所述服务端的响应;若否,则根据所述请求的预设优先级判断是否需要重新发送所述连接服务端的请求,若所述预设优先级为高,则将所述连接服务端的请求加入到发送队列的队尾,重新发送,若所述预设优先级为标准或低,则不执行后续步骤。
优选地,所述通信代理服务器和服务端之间进行数据交互时,均对接收到的数据进行解密、对发送的数据进行数据解密。
本发明还公开了一种客户端和服务端之间的数据通信系统,包括通信代理服务器,所述通信代理服务器进一步包括:
接收模块,用于接收客户端程序所发送的连接服务端的请求;
转发请求模块,用于将所述连接服务端的请求转发至服务端,并接收来自所述服务端的响应;
转发响应模块,用于将所述服务端的响应发送至所述客户端程序。
优选地,该系统还包括:
判断模块,用于判断客户端程序是否成功连接所述通信代理服务器,并在未成功连接时,每隔预定时间进行重新连接,直至连接成功。
(三)有益效果
本发明通过在客户端和服务端之间设置通信代理服务器,使所有要和服务端进行通信的客户端程序只需连接所述通信代理服务器即可,数据转发、数据的加密解密、排队和优先级等工作均由所述通信代理服务器进行处理,降低了程序的复杂度,提高了可维护性。
附图说明
图1是按照本发明一种实施方式的客户端和服务端之间的数据通信方法的流程图;
图2是按照本发明一种实施方式的客户端和服务端之间的数据通信系统中通信代理服务器的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明通过在客户端和服务端之间设置通信代理服务器,使所有要和服务端进行通信的客户端程序只需连接所述通信代理服务器即可,数据转发、数据的加密解密和排队等工作均由所述通信代理服务器进行处理,这样,每个客户端程序只需处理自己的业务逻辑,而不必处理通信方面的问题,降低了程序的复杂度,提高了可维护性。
图1是按照本发明一种实施方式的客户端和服务端之间的数据通信方法的流程图,包括以下步骤:
S1:通信代理服务器接收客户端程序所发送的连接服务端的请求;
S2:所述通信代理服务器发送所述连接服务端的请求至服务端,并接收来自所述服务端的响应;
S3:所述通信代理服务器将所述服务端的响应发送至所述客户端程序。
步骤S1之前,还包括步骤:
S0:判断客户端程序是否成功连接所述通信代理服务器,若是,则直接执行步骤S1,若否,则每隔预定时间进行重新连接,直至连接成功后,再执行步骤S1。
为有序地发送请求,优选地,步骤S2中,所述通信代理服务器通过队列向所述服务端发送请求,将所述请求按照所述预设优先级分别送入相应队列的队尾,在发送时按照所述预设优先级由高至低发送相应的队列中的请求,所述队列的数量与所述请求的预设优先级类型的数量相同。,本实施方式根据实际的工作需求及环境指定预设优先级,所述预设优先级分为:高、标准和低三种类型,相应地,本实施方式中设有三个队列,为便于区分,分别称为第一队列、第二队列和第三队列,依次按照高、标准和低三种类型发送请求,即在发送数据时,优先发送第一队列中的请求,若第一队列中请求已发完,则继续发送第二队列的请求,若第二队列的请求也已发完,若在发送第二队列或第三队列的请求时,第一队列到来了新的请求,则优先发送第一队列中的请求,若在发送第三队列的请求时,第二队列到来了新的请求,则优先发送第二队列的请求。
此外,在步骤S2中,所述通信代理服务器发送所述连接服务端的请求至服务端后,还包括步骤:
所述通信代理服务器判断所述连接服务端的请求是否发送成功,若是,则接收来自所述服务端的响应;若否,则根据所述请求的预设优先级判断是否需要重新发送所述连接服务端的请求,若所述预设优先级为高,则将所述连接服务端的请求加入到发送队列的队尾,重新发送,若所述预设优先级为标准或低,则不执行后续步骤。
为提高客户端程序的数据安全性,优选地,所述通信代理服务器和服务端之间进行数据交互时,均对接收到的数据进行解密、对发送的数据进行数据解密。
本发明还公开了一种客户端和服务端之间的数据通信系统,该系统通过在客户端和服务端之间设置通信代理服务器完成二者之间的通信业务,如图2所示,该通信代理服务器进一步包括:
接收模块,用于接收客户端程序所发送的连接服务端的请求;
转发请求模块,用于将所述连接服务端的请求转发至服务端,并接收来自所述服务端的响应;
转发响应模块,用于将所述服务端的响应发送至所述客户端程序。
本发明的系统还包括:
判断模块,用于判断客户端程序是否成功连接所述通信代理服务器,并在未成功连接时,每隔预定时间进行重新连接,直至连接成功。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种客户端和服务端之间的数据通信方法,其特征在于,包括以下步骤:
S1:通信代理服务器接收客户端程序所发送的连接服务端的请求;
S2:所述通信代理服务器将所述连接服务端的请求转发至服务端,并接收来自所述服务端的响应;
S3:所述通信代理服务器将所述服务端的响应发送至所述客户端程序。
2.如权利要求1所述的客户端和服务端之间的数据通信方法,其特征在于,步骤S1之前,还包括步骤:
S0:判断客户端程序是否成功连接所述通信代理服务器,若是,则直接执行步骤S1,若否,则每隔预定时间进行重新连接,直至连接成功后,再执行步骤S1。
3.如权利要求1所述的客户端和服务端之间的数据通信方法,其特征在于,所述通信代理服务器按照预设优先级发送所述请求。
4.如权利要求3所述的客户端和服务端之间的数据通信方法,其特征在于,步骤S2中,所述通信代理服务器通过队列向所述服务端发送请求,按照所述预设优先级分别将所述请求送入相应队列的队尾,在发送时按照所述预设优先级由高至低发送相应的队列中的请求。
5.如权利要求4所述的客户端和服务端之间的数据通信方法,其特征在于,所述队列的数量与所述请求的预设优先级的类型的数量相同。
6.如权利要求5所述的客户端和服务端之间的数据通信方法,其特征在于,所述预设优先级包括:高、标准和低三种类型。
7.如权利要求5或6所述的客户端和服务端之间的数据通信方法,其特征在于,在步骤S2中,所述通信代理服务器发送所述连接服务端的请求至服务端后,还包括步骤:
所述通信代理服务器判断所述连接服务端的请求是否发送成功,若是,则接收来自所述服务端的响应;若否,则根据所述请求的预设优先级判断是否需要重新发送所述连接服务端的请求,若所述预设优先级为高,则将所述连接服务端的请求加入到发送队列的队尾,重新发送,若所述预设优先级为标准或低,则不执行后续步骤。
8.如权利要求1所述的客户端和服务端之间的数据通信方法,其特征在于,所述通信代理服务器和服务端之间进行数据交互时,均对接收到的数据进行解密、对发送的数据进行数据解密。
9.一种客户端和服务端之间的数据通信系统,其特征在于,包括通信代理服务器,所述通信代理服务器进一步包括:
接收模块,用于接收客户端程序所发送的连接服务端的请求;
转发请求模块,用于将所述连接服务端的请求转发至服务端,并接收来自所述服务端的响应;
转发响应模块,用于将所述服务端的响应发送至所述客户端程序。
10.如权利要求9所述的客户端和服务端之间的数据通信系统,其特征在于,该系统还包括:
判断模块,用于判断客户端程序是否成功连接所述通信代理服务器,并在未成功连接时,每隔预定时间进行重新连接,直至连接成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101790615A CN102255895A (zh) | 2011-06-29 | 2011-06-29 | 客户端和服务端之间的数据通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101790615A CN102255895A (zh) | 2011-06-29 | 2011-06-29 | 客户端和服务端之间的数据通信方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102255895A true CN102255895A (zh) | 2011-11-23 |
Family
ID=44982891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101790615A Pending CN102255895A (zh) | 2011-06-29 | 2011-06-29 | 客户端和服务端之间的数据通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102255895A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647802A (zh) * | 2013-11-20 | 2014-03-19 | 张若渊 | 移动网络数据传送系统及方法 |
CN103685387A (zh) * | 2012-09-12 | 2014-03-26 | 中国移动通信集团公司 | 一种调度http请求的方法和浏览器装置 |
CN112365360A (zh) * | 2020-10-26 | 2021-02-12 | 红云红河烟草(集团)有限责任公司 | 卷烟生产线物耗统计计算方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335762A (zh) * | 2007-06-25 | 2008-12-31 | 株式会社日立制作所 | 反映网页的历史使用行为的方法,及服务器、终端和系统 |
CN101651707A (zh) * | 2009-09-22 | 2010-02-17 | 西安交通大学 | 一种网络用户行为日志自动获取方法 |
-
2011
- 2011-06-29 CN CN2011101790615A patent/CN102255895A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335762A (zh) * | 2007-06-25 | 2008-12-31 | 株式会社日立制作所 | 反映网页的历史使用行为的方法,及服务器、终端和系统 |
CN101651707A (zh) * | 2009-09-22 | 2010-02-17 | 西安交通大学 | 一种网络用户行为日志自动获取方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685387A (zh) * | 2012-09-12 | 2014-03-26 | 中国移动通信集团公司 | 一种调度http请求的方法和浏览器装置 |
CN103685387B (zh) * | 2012-09-12 | 2017-05-03 | 中国移动通信集团公司 | 一种调度http请求的方法和浏览器装置 |
CN103647802A (zh) * | 2013-11-20 | 2014-03-19 | 张若渊 | 移动网络数据传送系统及方法 |
CN112365360A (zh) * | 2020-10-26 | 2021-02-12 | 红云红河烟草(集团)有限责任公司 | 卷烟生产线物耗统计计算方法 |
CN112365360B (zh) * | 2020-10-26 | 2023-04-28 | 红云红河烟草(集团)有限责任公司 | 卷烟生产线物耗统计计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105260250B (zh) | 一种Linux系统与Android系统的双系统通信装置 | |
US8069251B2 (en) | System and/or method for client-driven server load distribution | |
CN104580011B (zh) | 一种数据转发装置和方法 | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
CN102368725B (zh) | 一种多网卡的数据接收方法及系统 | |
CN102739644B (zh) | 一种金融数据的发送/接收方法及装置 | |
CN107592215A (zh) | 一种管理消息中间件的方法 | |
CN118200253A (zh) | 面向rdma ud传输的可靠通信方法、电子设备及可读介质 | |
US8650313B2 (en) | Endpoint discriminator in network transport protocol startup packets | |
CN105612723A (zh) | 通过使用无线通信系统中的多个网络接口分配业务量的方法和装置 | |
CN102255895A (zh) | 客户端和服务端之间的数据通信方法及系统 | |
CN101651713B (zh) | 一种智能卡网络数据传输方法及装置 | |
US9219712B2 (en) | WAN optimization without required user configuration for WAN secured VDI traffic | |
CN103036897A (zh) | 瘦客户端与服务器端之间基于远程桌面连接的通信方法 | |
JP5961471B2 (ja) | 複数の情報システムおける出力比較方法 | |
CN113810397A (zh) | 协议数据的处理方法及装置 | |
CN105471718B (zh) | 一种全双工消息队列的实现方法 | |
WO2014089968A1 (zh) | 虚拟机系统数据加密方法及设备 | |
KR20120128013A (ko) | 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법 | |
CN103220260A (zh) | 更新数据的方法、服务器、客户端及系统 | |
CN106130695A (zh) | 一种数据传输方法和系统 | |
CN109660370A (zh) | 一种数字广播系统的设备通信方法 | |
CN110830366A (zh) | 军工领域消息推送系统 | |
CN101860544A (zh) | 会话启动协议消息的发送系统及方法 | |
CN113301104A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111123 |