CN103297384A - 协议转换的通信方法及系统 - Google Patents
协议转换的通信方法及系统 Download PDFInfo
- Publication number
- CN103297384A CN103297384A CN2012100427328A CN201210042732A CN103297384A CN 103297384 A CN103297384 A CN 103297384A CN 2012100427328 A CN2012100427328 A CN 2012100427328A CN 201210042732 A CN201210042732 A CN 201210042732A CN 103297384 A CN103297384 A CN 103297384A
- Authority
- CN
- China
- Prior art keywords
- server
- socket
- mode
- client
- http protocol
- 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
本发明公开了一种协议转换的通信方法及系统,该方法包括以下步骤:客户端将请求数据包通过套接字SOCKET连接发送给第一服务器;第一服务器以SOCKET方式接收请求数据包,并将请求数据包以HTTP协议的方式发送给第二服务器;第二服务器以HTTP协议的方式接收请求数据包,并通过与业务服务器之间的套接字SOCKET连接将请求数据包发送给业务服务器;业务服务器对接收的请求数据包进行处理,将处理结果的返回数据包通过与第二服务器之间的套接字SOCKET连接发送给第二服务器;第二服务器以SOCKET方式接收返回数据包,并以HTTP协议的方式将返回数据包发送给第一服务器;第一服务器以HTTP协议的方式接收返回数据包,并通过与客户端之间的套接字SOCKET连接将返回数据包发送给客户端。
Description
技术领域
本发明涉及计算机网络领域,具体而言,涉及一种协议转换的通信方法及系统。
背景技术
目前的客户机与服务器之间一般采用套接字(SOCKET)方式进行网络通信。使用SOCKET的通信方式,传输速度一般比较快和稳定,但是在很多网络环境尤其是内部网络中都设置了网络防火墙,只允许使用基本端口,如网络浏览端口80,其它端口不允许使用,如即时通信的聊天端口8000,在这种情况下,不能用传输控制协议(TCP)或者用户数据报协议(UDP)与服务器进行直接连接,所以客户端和服务器进行直接SOCKET连接的方式有一些局限性。
中国发明申请200610065562.X提出了一种基于WEB服务器的通信方法,在该通信方法中,客户端将数据封装为HTTP数据包,并通过与WEB服务器之间的套接字SOCKET连接将该HTTP数据包发送给WEB服务器;所述WEB服务器解析所述HTTP数据包,并调用指定的接口程序;以及由所述接口程序与对应的业务服务器建立通信连接。
该发明基于WEB服务器,使用HTTP协议和对应的端口(如80端口)与服务器通信,能够使客户端发送的数据和向客户端发送的数据很好的透过防火墙,因而,避免了采用套接字SOCKET连接时因端口限制而不能通信的问题。
然而,该发明的不足之处在于,对于只能使用SOCKET方式通信的客户端和服务器,当通过互联网连接时,无法采用上述通信方法穿透防火墙,因而不能保持稳定的通信。
发明内容
本发明提供一种协议转换的通信方法,通过SOCKET与HTTP之间的协议转换,用以实现采用SOCKET方式连接的客户端和服务器穿透防火墙通信。
为达到上述目的,本发明提供了一种协议转换的通信方法,该方法包括以下步骤:
客户端将请求数据包通过套接字SOCKET连接发送给第一服务器;
第一服务器以SOCKET方式接收请求数据包,并将请求数据包以HTTP协议的方式发送给第二服务器;
第二服务器以HTTP协议的方式接收请求数据包,并通过与业务服务器之间的套接字SOCKET连接将请求数据包发送给业务服务器;
业务服务器对接收的请求数据包进行处理,将处理结果的返回数据包通过与第二服务器之间的套接字SOCKET连接发送给第二服务器;
第二服务器以SOCKET方式接收返回数据包,并以HTTP协议的方式将返回数据包发送给第一服务器;
第一服务器以HTTP协议的方式接收返回数据包,并通过与客户端之间的套接字SOCKET连接将返回数据包发送给客户端。
较佳的,客户端接收完数据后,关闭与第一服务器之间的套接字SOCKET连接。
较佳的,第一服务器与第二服务器之间采用HTTP协议的POST方法或HTTP协议的GET方法传送数据。
为达到上述目的,本发明还提供了一种协议转换的通信系统,其包括:客户端、第一服务器、第二服务器和业务服务器,其中
客户端与第一服务器之间采用套接字SOCKET连接,客户端将请求数据包通过SOCKET方式发送给第一服务器,第一服务器将来自第二服务器的返回数据包通过SOCKET方式发送给客户端;
第一服务器与第二服务器之间采用HTTP协议的方式进行通信,第一服务器将来自客户端的请求数据包以HTTP协议的方式发送给第二服务器,第二服务器将来自业务服务器的返回数据包以HTTP协议的方式发送给第一服务器;
第二服务器与业务服务器之间采用套接字SOCKET连接,第二服务器将接收的请求数据包发送给业务服务器,业务服务器对请求数据包进行处理,并将处理结果的返回数据包通过SOCKET方式发送给第二服务器。
较佳的,第一服务器与第二服务器之间采用HTTP协议的POST方法或HTTP协议的GET方法传送数据。
在上述实施例中,对于只能使用SOCKET方式通信的客户端和服务器,当通过互联网连接时,上述通信系统通过SOCKET与HTTP之间的协议转换,可以实现采用SOCKET方式连接的客户端和服务器穿透防火墙通信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的协议转换的通信系统示意图;
图2为本发明一实施例的协议转换的通信方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例的协议转换的通信系统示意图;如图所示,该通信系统包括客户端、第一服务器、第二服务器和业务服务器,其中
客户端与第一服务器之间采用套接字SOCKET连接,客户端将请求数据包通过SOCKET方式发送给第一服务器,第一服务器将来自第二服务器的返回数据包通过SOCKET方式发送给客户端;
第一服务器与第二服务器之间采用HTTP协议的方式进行通信,第一服务器将来自客户端的请求数据包以HTTP协议的方式发送给第二服务器,第二服务器将来自业务服务器的返回数据包以HTTP协议的方式发送给第一服务器;
第二服务器与业务服务器之间采用套接字SOCKET连接,第二服务器将接收的请求数据包发送给业务服务器,业务服务器对请求数据包进行处理,并将处理结果的返回数据包通过SOCKET方式发送给第二服务器。
在本实施例中,客户端与第一服务器之间建立套接字SOCKET连接,第二服务器与业务服务器之间建立套接字SOCKET连接,客户端将业务请求数据包发送给第一服务器,第一服务器收到业务请求数据包后,以HTTP请求的方式向第二服务器发送业务请求数据包,第二服务器响应第一服务器的HTTP请求,接收业务请求数据包,然后第二服务器将业务请求数据包通过与业务服务器之间的SOCKET连接发送给业务服务器,业务服务器收到业务请求数据包以后进行业务处理,之后产生作为处理结果的业务返回数据包,业务处理服务器通过与第二服务器之间的SOCKET连接将业务返回数据包返回给第二服务器,第二服务器又以HTTP响应的方式将业务返回数据包发送给第一服务器,第一服务器收到业务返回数据包以后通过与客户端的SOCKET连接将业务返回数据包发送给客户端,完成一个业务办理流程,多项业务是多项业务办理流程的重复。
可见,对于只能使用SOCKET方式通信的客户端和服务器,当通过互联网连接时,上述通信系统通过SOCKET与HTTP之间的协议转换,可以实现采用SOCKET方式连接的客户端和服务器穿透防火墙通信。
其中,客户端为可以远程访问第一服务器的软件模块或硬件设备;第一服务器是一个可以保持SOCKET连接,并且可以发起HTTP请求,接收HTTP响应返回的外网应用软件模块;第二服务器是一个可以接收和响应HTTP请求,并且可以保持SOCKET连接的内网应用软件模块;业务服务器为完成业务逻辑的软件模块或硬件设备,其可以通过JMS应用程序接口进行通信。
图2为本发明一实施例的协议转换的通信方法流程图。如图所示,该方法包括以下步骤:
S101,客户端将请求数据包通过套接字SOCKET连接发送给第一服务器;
例如,客户端通过SOCKET方式发送第一服务器的一个数据代码包如下:
S102,第一服务器以SOCKET方式接收请求数据包,并将请求数据包以HTTP协议的方式发送给第二服务器;
S103,第二服务器以HTTP协议的方式接收请求数据包,并通过与业务服务器之间的套接字SOCKET连接将请求数据包发送给业务服务器;
S104,业务服务器对接收的请求数据包进行处理,将处理结果的返回数据包通过与第二服务器之间的套接字SOCKET连接发送给第二服务器;
S105,第二服务器以SOCKET方式接收返回数据包,并以HTTP协议的方式将返回数据包发送给第一服务器;
第一服务器和第二服务器通过HTTP协议传输数据的代码如下:
S106,第一服务器以HTTP协议的方式接收返回数据包,并通过与客户端之间的套接字SOCKET连接将返回数据包发送给客户端。
例如,客户端通过SOCKET方式从第一服务器接收的一个数据代码包如下:
在本实施例中,对于只能使用SOCKET方式通信的客户端和服务器,当通过互联网连接时,上述通信系统通过SOCKET与HTTP之间的协议转换,可以实现采用SOCKET方式连接的客户端和服务器穿透防火墙通信。
例如,客户端接收完数据后,关闭与第一服务器之间的套接字SOCKET连接。
例如,第一服务器与第二服务器之间采用HTTP协议的POST方法或HTTP协议的GET方法传送数据。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (5)
1.一种协议转换的通信方法,其特征在于,包括以下步骤:
客户端将请求数据包通过套接字SOCKET连接发送给第一服务器;
所述第一服务器以SOCKET方式接收所述请求数据包,并将所述请求数据包以HTTP协议的方式发送给第二服务器;
所述第二服务器以HTTP协议的方式接收所述请求数据包,并通过与业务服务器之间的套接字SOCKET连接将所述请求数据包发送给所述业务服务器;
所述业务服务器对接收的所述请求数据包进行处理,将处理结果的返回数据包通过与所述第二服务器之间的套接字SOCKET连接发送给所述第二服务器;
所述第二服务器以SOCKET方式接收所述返回数据包,并以HTTP协议的方式将所述返回数据包发送给所述第一服务器;
所述第一服务器以HTTP协议的方式接收所述返回数据包,并通过与所述客户端之间的套接字SOCKET连接将所述返回数据包发送给所述客户端。
2.根据权利要求1所述的通信方法,其特征在于,所述客户端接收完数据后,关闭与所述第一服务器之间的套接字SOCKET连接。
3.根据权利要求1所述的通信方法,其特征在于,所述第一服务器与所述第二服务器之间采用HTTP协议的POST方法或HTTP协议的GET方法传送数据。
4.一种协议转换的通信系统,其特征在于,包括:客户端、第一服务器、第二服务器和业务服务器,其中
所述客户端与所述第一服务器之间采用套接字SOCKET连接,所述客户端将请求数据包通过SOCKET方式发送给所述第一服务器,所述第一服务器将来自所述第二服务器的返回数据包通过SOCKET方式发送给所述客户端;
所述第一服务器与所述第二服务器之间采用HTTP协议的方式进行通信,所述第一服务器将来自所述客户端的所述请求数据包以HTTP协议的方式发送给所述第二服务器,所述第二服务器将来自业务服务器的返回数据包以HTTP协议的方式发送给所述第一服务器;
所述第二服务器与所述业务服务器之间采用套接字SOCKET连接,所述第二服务器将接收的所述请求数据包发送给所述业务服务器,所述业务服务器对所述请求数据包进行处理,并将处理结果的返回数据包通过SOCKET方式发送给所述第二服务器。
5.根据权利要求4所述的通信系统,其特征在于,所述第一服务器与所述第二服务器之间采用HTTP协议的POST方法或HTTP协议的GET方法传送数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100427328A CN103297384A (zh) | 2012-02-22 | 2012-02-22 | 协议转换的通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100427328A CN103297384A (zh) | 2012-02-22 | 2012-02-22 | 协议转换的通信方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103297384A true CN103297384A (zh) | 2013-09-11 |
Family
ID=49097714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100427328A Pending CN103297384A (zh) | 2012-02-22 | 2012-02-22 | 协议转换的通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297384A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743852A (zh) * | 2014-12-09 | 2016-07-06 | 航天信息股份有限公司 | 通过http实现跨越网闸进行Socket保持连接通信的方法及系统 |
WO2016106780A1 (zh) * | 2015-01-04 | 2016-07-07 | 华为技术有限公司 | 一种用户数据的传输方法、装置及终端 |
CN107426233A (zh) * | 2017-08-08 | 2017-12-01 | 深圳先进技术研究院 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
CN108306943A (zh) * | 2017-01-11 | 2018-07-20 | 佳能株式会社 | 信息处理装置、其控制方法、存储介质及信息处理系统 |
WO2019028673A1 (zh) * | 2017-08-08 | 2019-02-14 | 深圳先进技术研究院 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
CN111371829A (zh) * | 2019-10-12 | 2020-07-03 | 杭州海康威视系统技术有限公司 | 数据共享方法及装置、终端、服务器和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2891503Y (zh) * | 2006-04-26 | 2007-04-18 | 北京华科广通信息技术有限公司 | 信息系统或设备的安全防护系统 |
CN101010927A (zh) * | 2004-06-15 | 2007-08-01 | 雅斯拓股份有限公司 | 用于sim和终端之间的通信的协议转换“载体无关协议”-tcp/ip |
CN101064717A (zh) * | 2006-04-26 | 2007-10-31 | 北京华科广通信息技术有限公司 | 信息系统或设备的安全防护系统及其工作方法 |
CN101090400A (zh) * | 2007-08-07 | 2007-12-19 | 北京立通无限科技有限公司 | 移动用户信息的安全传递方法及系统 |
CN101605134A (zh) * | 2009-06-30 | 2009-12-16 | 成都市华为赛门铁克科技有限公司 | 网络安全扫描方法、装置及系统 |
CN201639595U (zh) * | 2009-12-23 | 2010-11-17 | 珠海兴业新能源科技有限公司 | 基于http隧道远程监控系统 |
US20100325300A1 (en) * | 2009-06-22 | 2010-12-23 | Microsoft Corporation | Using hypertext transfer protocol as a transport for bi-directional data streams |
US20110161412A1 (en) * | 2005-03-10 | 2011-06-30 | International Business Machines Corporation | Processing requests transmitted using a first communication directed to an application that uses a second communication protocol |
-
2012
- 2012-02-22 CN CN2012100427328A patent/CN103297384A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101010927A (zh) * | 2004-06-15 | 2007-08-01 | 雅斯拓股份有限公司 | 用于sim和终端之间的通信的协议转换“载体无关协议”-tcp/ip |
US20110161412A1 (en) * | 2005-03-10 | 2011-06-30 | International Business Machines Corporation | Processing requests transmitted using a first communication directed to an application that uses a second communication protocol |
CN2891503Y (zh) * | 2006-04-26 | 2007-04-18 | 北京华科广通信息技术有限公司 | 信息系统或设备的安全防护系统 |
CN101064717A (zh) * | 2006-04-26 | 2007-10-31 | 北京华科广通信息技术有限公司 | 信息系统或设备的安全防护系统及其工作方法 |
CN101090400A (zh) * | 2007-08-07 | 2007-12-19 | 北京立通无限科技有限公司 | 移动用户信息的安全传递方法及系统 |
US20100325300A1 (en) * | 2009-06-22 | 2010-12-23 | Microsoft Corporation | Using hypertext transfer protocol as a transport for bi-directional data streams |
CN101605134A (zh) * | 2009-06-30 | 2009-12-16 | 成都市华为赛门铁克科技有限公司 | 网络安全扫描方法、装置及系统 |
CN201639595U (zh) * | 2009-12-23 | 2010-11-17 | 珠海兴业新能源科技有限公司 | 基于http隧道远程监控系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743852A (zh) * | 2014-12-09 | 2016-07-06 | 航天信息股份有限公司 | 通过http实现跨越网闸进行Socket保持连接通信的方法及系统 |
WO2016106780A1 (zh) * | 2015-01-04 | 2016-07-07 | 华为技术有限公司 | 一种用户数据的传输方法、装置及终端 |
CN108306943A (zh) * | 2017-01-11 | 2018-07-20 | 佳能株式会社 | 信息处理装置、其控制方法、存储介质及信息处理系统 |
CN108306943B (zh) * | 2017-01-11 | 2020-10-16 | 佳能株式会社 | 信息处理装置、其控制方法、存储介质及信息处理系统 |
CN107426233A (zh) * | 2017-08-08 | 2017-12-01 | 深圳先进技术研究院 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
WO2019028673A1 (zh) * | 2017-08-08 | 2019-02-14 | 深圳先进技术研究院 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
CN111371829A (zh) * | 2019-10-12 | 2020-07-03 | 杭州海康威视系统技术有限公司 | 数据共享方法及装置、终端、服务器和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2843908B1 (en) | Full-duplex bi-directional communication over a remote procedure call based communications protocol, and applications thereof | |
CN109327513B (zh) | 交互方法、装置及计算机可读存储介质 | |
CN103297384A (zh) | 协议转换的通信方法及系统 | |
WO2007149745A4 (en) | Methods, systems and protocols for application to application communications | |
IL160575A (en) | Transmitting and receiving messages through a customizable communication channel and programming model | |
CN102790776A (zh) | 心跳连接归一处理方法、终端、服务器及通信系统 | |
CN102594677A (zh) | 用于pmtu学习的方法和装置 | |
CN103795632A (zh) | 一种数据报文传输方法及相关设备、系统 | |
CN103618667A (zh) | 信息传送方法、接入网关和系统 | |
CN104243281A (zh) | 基于移动互联网的语音通信方法 | |
CN104270344A (zh) | 万兆网闸 | |
CN105743852B (zh) | 通过http实现跨越网闸进行Socket保持连接通信的方法及系统 | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
Lee et al. | Toward industrial IoT: Integrated architecture of an OPC UA synergy platform | |
KR20230132143A (ko) | 산업용 IoT를 위한 OPC UA 시너지 플랫폼 | |
CN106302432B (zh) | 一种基于车联网的通信装置及控制方法 | |
CN101079830A (zh) | 一种在即时通信过程中提供好友状态的方法、系统及设备 | |
CN105245464A (zh) | 一种基于安卓系统的网络加速方法 | |
CN103929365A (zh) | 一种适用于udp服务的负载均衡系统及方法 | |
CN102694727A (zh) | 实现网络数据包转发加速的方法及装置 | |
CN110417875A (zh) | 一种云服务器之间的对接方法、系统、设备及存储介质 | |
CN107872431B (zh) | 一种数据收发方法、装置及基站 | |
CN105162751B (zh) | 一种基于lwIP协议栈多网口多连接的通讯系统 | |
CN105991629B (zh) | Tcp连接建立方法及装置 | |
Al-Madani et al. | Performance enhancement of limited-bandwidth industrial control systems |
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: 20130911 |