[发明专利]一种socket协议连接转换为其它协议连接的实现方法在审
申请号: | 202010108712.0 | 申请日: | 2020-02-21 |
公开(公告)号: | CN111327614A | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 曹明选;叶德望 | 申请(专利权)人: | 浙江德迅网络安全技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京化育知识产权代理有限公司 11833 | 代理人: | 尹均利 |
地址: | 311200 浙江省温*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 socket 协议 连接 转换 其它 实现 方法 | ||
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两个参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江德迅网络安全技术有限公司,未经浙江德迅网络安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010108712.0/1.html,转载请声明来源钻瓜专利网。