CN111327614A - 一种socket协议连接转换为其它协议连接的实现方法 - Google Patents
一种socket协议连接转换为其它协议连接的实现方法 Download PDFInfo
- Publication number
- CN111327614A CN111327614A CN202010108712.0A CN202010108712A CN111327614A CN 111327614 A CN111327614 A CN 111327614A CN 202010108712 A CN202010108712 A CN 202010108712A CN 111327614 A CN111327614 A CN 111327614A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- connection
- protocol connection
- function
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种socket协议连接转换为其它协议连接的实现方法,具体包括以下步骤:创建一个客户端对象TcpClient,调用对象TcpClient下的方法BeginConnect对客户端进行尝试连接,本发明涉及云计算技术领域。该socket协议连接转换为其它协议连接的实现方法,在判断出客户端与服务器端连接已断开后,将客户端数据传输到程序结构中进行删除客户端操作,利用多个客户端与一个服务器端之间进行连接,利用服务器端内部的程序结构实现对socket协议连接转换成其它协议连接,利用多个客户端与服务器端之间的连接,实现对socket协议连接转换成其它协议连接,并且通过服务器端内部的两个程序结构可以自动划分内存区域,避免socket协议连接转换为其它协议连接的时候出现端口号冲突。
Description
技术领域
本发明涉及云计算技术领域,具体为一种socket协议连接转换为其它协议连接的实现方法。
背景技术
云计算是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户,云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并,因而,云计算又称为网格计算,通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务。
目前的socket协议连接在转换为其它协议连接的时候,无法有效地对端口号协议进行合理分配,通常一个服务器可以接受多个客户端的连接,但是一个客户端只能连接一台服务器,在服务器端与客户端进行连接后,服务器端较为难以自动划分内存区域,对socket协议连接转换为其它协议连接容易出现端口号冲突。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种socket协议连接转换为其它协议连接的实现方法,解决了目前的客户端与服务器端在进行连接后,服务器端较为难以自动划分内存区域,对socket协议连接转换为其它协议连接容易出现端口号冲突的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:一种socket协议连接转换为其它协议连接的实现方法,具体包括以下步骤:
S1、客户端创建:创建一个客户端对象TcpClient,调用对象TcpClient下的方法BeginConnect对客户端进行尝试连接,其中客户端的入口参数分别为目标IP地址、目标端口号、连接成功后的返调函数和传递参数,在调用完函数后,系统将进行尝试连接服务器;
S2、数据接收:完成连接成功后的返调函数,定义一个函数void-Connected,在连接服务器成功后,系统调用函数void-Connected,在函数void-Connected里,进行获取系统分配的数据流传输对象,接着获取数据流传输对象NetworkStream,将数据流传输对象NetworkStream设置为全局变量,调用ns下的方法BeginRead,其中入口参数包括数据缓冲、缓冲起始序号、缓冲长度、接收到数据后的返调函数和传递参数,在调用完毕函数后将挂起数据接收等待;
S3、数据处理:在服务器向客户端发送数据后,系统调用函数BeginRead,在函数BeginRead里获得数据流byte数组,在函数BeginRead中包含入口参数state,将buff传递进函数BeginRead中,然后将buff强制转换成byte数组,在完成byte数组的转换后,获取缓冲区的大小ns,最后对数据进行处理;
S4、服务器端创建:建立两个服务器端程序结构,其中第一个程序结构负责服务器的启动与客户端连接的登记,建立协议TcpListener,启动服务器,接着启动客户端的尝试连接,其中入口参数包括客户端连接上后的返调函数和传递参数,建立客户端连接上的返调函数,并且在函数中获取客户端的对象tcplst,在完成客户端的处理完毕后,启动下一个客户端的连接;
S5、实现协议转换:另一个程序结构负责单个客户端与服务器端的处理程序,主要负责数据的通讯,在判断出客户端与服务器端连接已断开后,将客户端数据传输到第一个程序结构中进行删除客户端操作,利用多个客户端与一个服务器端之间进行连接,利用服务器端内部的程序结构实现对socket协议连接转换成其它协议连接。
优选的,所述步骤S1中,对客户端对象TcpClient的命名空间在System.Net.Sockets中。
优选的,所述步骤S2中,数据流传输对象用于处理客户端与服务器端之间的数据传输,并且数据流传输对象由TcpClient获得。
优选的,所述步骤S3中,调用ns下的方法向服务器端发送数据,另外入口参数包括数据缓冲、缓冲起始序号和缓冲长度。
优选的,所述步骤S3中,在获取的length为0时表示客户端已经断开连接。
优选的,所述步骤S4中,在程序结构建立的时候构造函数分别包括localaddr和port两个参数。
(三)有益效果
本发明提供了一种socket协议连接转换为其它协议连接的实现方法。与现有技术相比具备以下有益效果:
该socket协议连接转换为其它协议连接的实现方法,通过创建一个客户端对象TcpClient,调用对象TcpClient下的方法BeginConnect对客户端进行尝试连接,其中客户端的入口参数分别为目标IP地址、目标端口号、连接成功后的返调函数和传递参数,在调用完函数后,系统将进行尝试连接服务器,完成连接成功后的返调函数,定义一个函数void-Connected,在连接服务器成功后,系统调用函数void-Connected,在函数void-Connected里,进行获取系统分配的数据流传输对象,接着获取数据流传输对象NetworkStream,将数据流传输对象NetworkStream设置为全局变量,调用ns下的方法BeginRead,其中入口参数包括数据缓冲、缓冲起始序号、缓冲长度、接收到数据后的返调函数和传递参数,在调用完毕函数后将挂起数据接收等待,在服务器向客户端发送数据后,系统调用函数BeginRead,在函数BeginRead里获得数据流byte数组,在函数BeginRead中包含入口参数state,将buff传递进函数BeginRead中,然后将buff强制转换成byte数组,在完成byte数组的转换后,获取缓冲区的大小ns,最后对数据进行处理,建立两个服务器端程序结构,其中第一个程序结构负责服务器的启动与客户端连接的登记,建立协议TcpListener,启动服务器,接着启动客户端的尝试连接,其中入口参数包括客户端连接上后的返调函数和传递参数,建立客户端连接上的返调函数,并且在函数中获取客户端的对象tcplst,在完成客户端的处理完毕后,启动下一个客户端的连接,另一个程序结构负责单个客户端与服务器端的处理程序,主要负责数据的通讯,在判断出客户端与服务器端连接已断开后,将客户端数据传输到第一个程序结构中进行删除客户端操作,利用多个客户端与一个服务器端之间进行连接,利用服务器端内部的程序结构实现对socket协议连接转换成其它协议连接,利用多个客户端与服务器端之间的连接,实现对socket协议连接转换成其它协议连接,并且通过服务器端内部的两个程序结构可以自动划分内存区域,避免socket协议连接转换为其它协议连接的时候出现端口号冲突。
附图说明
图1为本发明实现转换协议连接的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
2.请参阅图1,本发明实施例提供一种技术方案:一种socket协议连接转换为其它协议连接的实现方法,具体包括以下步骤:
S1、客户端创建:创建一个客户端对象TcpClient,调用对象TcpClient下的方法BeginConnect对客户端进行尝试连接,其中客户端的入口参数分别为目标IP地址、目标端口号、连接成功后的返调函数和传递参数,在调用完函数后,系统将进行尝试连接服务器;
S2、数据接收:完成连接成功后的返调函数,定义一个函数void-Connected,在连接服务器成功后,系统调用函数void-Connected,在函数void-Connected里,进行获取系统分配的数据流传输对象,接着获取数据流传输对象NetworkStream,将数据流传输对象NetworkStream设置为全局变量,调用ns下的方法BeginRead,其中入口参数包括数据缓冲、缓冲起始序号、缓冲长度、接收到数据后的返调函数和传递参数,在调用完毕函数后将挂起数据接收等待;
S3、数据处理:在服务器向客户端发送数据后,系统调用函数BeginRead,在函数BeginRead里获得数据流byte数组,在函数BeginRead中包含入口参数state,将buff传递进函数BeginRead中,然后将buff强制转换成byte数组,在完成byte数组的转换后,获取缓冲区的大小ns,最后对数据进行处理;
S4、服务器端创建:建立两个服务器端程序结构,其中第一个程序结构负责服务器的启动与客户端连接的登记,建立协议TcpListener,启动服务器,接着启动客户端的尝试连接,其中入口参数包括客户端连接上后的返调函数和传递参数,建立客户端连接上的返调函数,并且在函数中获取客户端的对象tcplst,在完成客户端的处理完毕后,启动下一个客户端的连接;
S5、实现协议转换:另一个程序结构负责单个客户端与服务器端的处理程序,主要负责数据的通讯,在判断出客户端与服务器端连接已断开后,将客户端数据传输到第一个程序结构中进行删除客户端操作,利用多个客户端与一个服务器端之间进行连接,利用服务器端内部的程序结构实现对socket协议连接转换成其它协议连接,同时本说明书中未作详细描述的内容均属于本领域技术人员公知的现有技术。
本发明中,步骤S1中,对客户端对象TcpClient的命名空间在System.Net.Sockets中。
本发明中,步骤S2中,数据流传输对象用于处理客户端与服务器端之间的数据传输,并且数据流传输对象由TcpClient获得。
本发明中,步骤S3中,调用ns下的方法向服务器端发送数据,另外入口参数包括数据缓冲、缓冲起始序号和缓冲长度。
本发明中,步骤S3中,在获取的length为0时表示客户端已经断开连接。
本发明中,步骤S4中,在程序结构建立的时候构造函数分别包括localaddr和port两个参数。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种socket协议连接转换为其它协议连接的实现方法,其特征在于:具体包括以下步骤:
S1、客户端创建:创建一个客户端对象TcpClient,调用对象TcpClient下的方法BeginConnect对客户端进行尝试连接,其中客户端的入口参数分别为目标IP地址、目标端口号、连接成功后的返调函数和传递参数,在调用完函数后,系统将进行尝试连接服务器;
S2、数据接收:完成连接成功后的返调函数,定义一个函数void-Connected,在连接服务器成功后,系统调用函数void-Connected,在函数void-Connected里,进行获取系统分配的数据流传输对象,接着获取数据流传输对象NetworkStream,将数据流传输对象NetworkStream设置为全局变量,调用ns下的方法BeginRead,其中入口参数包括数据缓冲、缓冲起始序号、缓冲长度、接收到数据后的返调函数和传递参数,在调用完毕函数后将挂起数据接收等待;
S3、数据处理:在服务器向客户端发送数据后,系统调用函数BeginRead,在函数BeginRead里获得数据流byte数组,在函数BeginRead中包含入口参数state,将buff传递进函数BeginRead中,然后将buff强制转换成byte数组,在完成byte数组的转换后,获取缓冲区的大小ns,最后对数据进行处理;
S4、服务器端创建:建立两个服务器端程序结构,其中第一个程序结构负责服务器的启动与客户端连接的登记,建立协议TcpListener,启动服务器,接着启动客户端的尝试连接,其中入口参数包括客户端连接上后的返调函数和传递参数,建立客户端连接上的返调函数,并且在函数中获取客户端的对象tcplst,在完成客户端的处理完毕后,启动下一个客户端的连接;
S5、实现协议转换:另一个程序结构负责单个客户端与服务器端的处理程序,主要负责数据的通讯,在判断出客户端与服务器端连接已断开后,将客户端数据传输到第一个程序结构中进行删除客户端操作,利用多个客户端与一个服务器端之间进行连接,利用服务器端内部的程序结构实现对socket协议连接转换成其它协议连接。
2.根据权利要求1所述的一种socket协议连接转换为其它协议连接的实现方法,其特征在于:所述步骤S1中,对客户端对象TcpClient的命名空间在System.Net.Sockets中。
3.根据权利要求1所述的一种socket协议连接转换为其它协议连接的实现方法,其特征在于:所述步骤S2中,数据流传输对象用于处理客户端与服务器端之间的数据传输,并且数据流传输对象由TcpClient获得。
4.根据权利要求1所述的一种socket协议连接转换为其它协议连接的实现方法,其特征在于:所述步骤S3中,调用ns下的方法向服务器端发送数据,另外入口参数包括数据缓冲、缓冲起始序号和缓冲长度。
5.根据权利要求1所述的一种socket协议连接转换为其它协议连接的实现方法,其特征在于:所述步骤S3中,在获取的length为0时表示客户端已经断开连接。
6.根据权利要求1所述的一种socket协议连接转换为其它协议连接的实现方法,其特征在于:所述步骤S4中,在程序结构建立的时候构造函数分别包括localaddr和port两个参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108712.0A CN111327614A (zh) | 2020-02-21 | 2020-02-21 | 一种socket协议连接转换为其它协议连接的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108712.0A CN111327614A (zh) | 2020-02-21 | 2020-02-21 | 一种socket协议连接转换为其它协议连接的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111327614A true CN111327614A (zh) | 2020-06-23 |
Family
ID=71172093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010108712.0A Pending CN111327614A (zh) | 2020-02-21 | 2020-02-21 | 一种socket协议连接转换为其它协议连接的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327614A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1941738A (zh) * | 2005-09-29 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 客户端主应用部件与目标服务器间进行通信的装置和方法 |
US20090157848A1 (en) * | 2007-12-18 | 2009-06-18 | Western Digital Technologies, Inc. | Application server processing tcp/ip requests from a client by invoking an asynchronous function |
CN102546619A (zh) * | 2011-12-29 | 2012-07-04 | 浙江工业大学 | 基于3G上网的Modbus协议转换系统 |
CN107465751A (zh) * | 2017-08-22 | 2017-12-12 | 世纪禾光科技发展(北京)有限公司 | 通信方法、装置、客户端及计算机存储介质 |
-
2020
- 2020-02-21 CN CN202010108712.0A patent/CN111327614A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1941738A (zh) * | 2005-09-29 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 客户端主应用部件与目标服务器间进行通信的装置和方法 |
US20090157848A1 (en) * | 2007-12-18 | 2009-06-18 | Western Digital Technologies, Inc. | Application server processing tcp/ip requests from a client by invoking an asynchronous function |
CN102546619A (zh) * | 2011-12-29 | 2012-07-04 | 浙江工业大学 | 基于3G上网的Modbus协议转换系统 |
CN107465751A (zh) * | 2017-08-22 | 2017-12-12 | 世纪禾光科技发展(北京)有限公司 | 通信方法、装置、客户端及计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
王丹: "CBTC车地无线通信监测系统设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0915595A3 (en) | Accessing system for a network | |
CN111147506A (zh) | 一种基于html5播放流媒体数据的方法、系统及存储设备 | |
CN105610888A (zh) | 基于安卓的利用socket推送消息的方法和系统 | |
JP2006501578A5 (zh) | ||
CN106128468B (zh) | 语音通话方法及装置 | |
CN108683653A (zh) | 一种基于WebSocket的主动式消息推送系统 | |
CN105975225B (zh) | 多屏互动连接方法、装置及系统 | |
CN108418789A (zh) | 一种基于WebRTC的通信系统及其通信方法、信令服务器 | |
CN103997539A (zh) | 基于web服务的雷达运行状态采集分发系统及其方法 | |
CN102025515A (zh) | 基于文件目录的文件传输方法及其装置和系统 | |
CN112398845B (zh) | 数据传输方法、数据传输装置、系统及电子设备 | |
CN113518134A (zh) | 一种mesh组网下通过域名访问主路由器的方法与装置 | |
CN103095785A (zh) | 远程过程调用方法和系统、客户端及服务器 | |
CN110417875B (zh) | 一种云服务器之间的对接方法、系统、设备及存储介质 | |
CN107846609B (zh) | 控制室数据实时传输方法、装置和系统 | |
CN105721509A (zh) | 一种服务器系统 | |
CN111327614A (zh) | 一种socket协议连接转换为其它协议连接的实现方法 | |
CN112929351A (zh) | 一种基于数字视网膜系统的通信方法 | |
CN111147582B (zh) | 一种语音交互方法、装置、计算机设备和存储介质 | |
US11070665B2 (en) | Voice over internet protocol processing method and related network device | |
CN106936718B (zh) | PPPoE报文传输方法和PPPoE服务器 | |
CN110011891B (zh) | 一种跨网络的业务处理方法和系统 | |
CN111901648B (zh) | 一种数据共享方法及相关装置 | |
CN112019391B (zh) | 终端网络设置方法、装置、系统及存储介质 | |
CN113726731A (zh) | 基于tcp实现终端app与服务器实时通讯的方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200623 |