局域网中客户端与服务器自动建立TCP连接的方法技术

技术编号:22471233 阅读:32 留言:0更新日期:2019-11-06 12:58
本发明专利技术涉及TCP连接技术领域,具体涉及一种局域网中客户端与服务器自动建立TCP连接的方法,包括以下步骤:T1客户端设备上电,并周期性发送IP请求报文;T2服务器上电初始化,接收IP请求,并解析客户端MAC地址;T3服务器从IP地址池提取合法的IP地址,并构造IP请求响应报文发送给客户端;T4客户端若未收到IP请求响应报文,则继续发送IP请求响应,若收到IP请求响应报文则进入S5;S5客户端解析服务器IP及分发给客户端的IP,实现服务器与TCP的连接;本发明专利技术在喷码和标识行业中,能够让多个喷码设备上电之后可以自动和工控主机进行TCP连接,无需人工干预,大大减轻了网络配置的工作量。

The method of automatically establishing TCP connection between client and server in LAN

【技术实现步骤摘要】
局域网中客户端与服务器自动建立TCP连接的方法
本专利技术涉及TCP连接
,具体涉及一种局域网中客户端与服务器自动建立TCP连接的方法。
技术介绍
在客户端/服务器的架构下,若局域网内的客户端需要与服务器建立TCP连接,必须满足两个条件。1.客户端必须拥有合法的IP地址;2.客户端需要知道服务器的IP地址。在局域网中,常常会使用DHCP协议来完成各台设备的IP地址自动分配。只要局域网中有一台DHCP服务器,那么其他设备就可以通过DHCP服务器得到下发的IP地址。这台DHCP服务器通常是局域网中的路由器设备,或者开启了DHCP服务功能,且拥有静态IP的电脑主机。DHCP协议有效解决了第一个条件,即给客户端分配好IP地址。但是要完成TCP连接,客户端还必须知道服务器的IP地址,这就不是DHCP协议所能解决的问题了。虽然我们可以给局域网内的服务器设定静态IP地址,此时各客户端程序连接服务器时可以使用服务器的静态IP,但这种做法限制了客户端程序的灵活性。如果服务器IP地址发生了变化,客户端是无法有效感知的。在喷码和标识行业中,多个喷码设备需要和工控主机进行TCP连接以完成数据的传输。每一台喷码设备需要有一个IP地址,如果能够让这些设备上电之后可以自动和工控主机进行TCP连接,则可以节省大量的网络配置工作。由于DHCP协议无法满足前文所述的第二个条件,需要使用新的设计来同时满足这两个条件。所有设备上电之后将自动完成TCP连接的建立,极大的简化了设备部署和网络配置管理的要求。
技术实现思路
针对现有技术的不足,本专利技术公开了一种局域网中客户端与服务器自动建立TCP连接的方法,用于解决在喷码和标识行业中,多个喷码设备需要和工控主机进行TCP连接以完成数据的传输。每一台喷码设备需要有一个IP地址,不能自动连接,以达到简化网络配置管理的目的。本专利技术通过以下技术方案予以实现:局域网中客户端与服务器自动建立TCP连接的方法,所述方法包括以下步骤:T1客户端设备上电,并周期性发送IP请求报文;T2服务器上电初始化,接收IP请求,并解析客户端MAC地址;T3服务器从IP地址池提取合法的IP地址,并构造IP请求响应报文发送给客户端;T4客户端若未收到IP请求响应报文,则继续发送IP请求响应,若收到IP请求响应报文则进入S5;S5客户端解析服务器IP及分发给客户端的IP,并将其发送到服务器的TCP进行连接。更进一步的,所述T1中,发送的IP请求为IP的链路层报文,目的MAC地址为广播地址,源MAC地址为客户端MAC地址。更进一步的,同一个局域网内的所有主机均接收所述IP的链路层报文,对IP请求的响应由服务器完成。更进一步的,所述链路层报文的数据链路层协议是自定义的协议标识,其结合及数据字段作为数据链路层的Payload发送出去。更进一步的,所述IP请求的报文格式的cmd字段定义为2字节的整数值,表示为客户端发出的请求IP报文。更进一步的,所述IP请求的响应报文格式在响应报文中把服务器的IP地址以及分配的客户端IP地址一起填入到Payload中,由服务器端发出。更进一步的,所述T3中,所述服务器收到IP请求后,解析出请求报文的源MAC地址,并从所述服务器维护的IP地址池中取出一个IP地址,同服务器自身IP地址与待分配的IP地址打包发回给客户端。更进一步的,所述T4中,所述客户端收到服务器回复的IP请求响应报文后,判断目的MAC是否与自身MAC地址吻合;若吻合继续解析出分配给自己的IP地址,以及服务器的IP地址;若不吻合则继续发送IP请求响应。本专利技术的有益效果为:本专利技术在喷码和标识行业中,能够让多个喷码设备上电之后可以自动和工控主机进行TCP连接,无需人工干预,大大减轻了网络配置的工作量。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是局域网中客户端与服务器自动建立TCP连接的方法流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1本实施例公开如图1所示的局域网中客户端与服务器自动建立TCP连接的方法流程,TCP是一个传输层协议,要建立TCP连接,客户端需要知道服务器的IP地址。由于DHCP协议只负责IP地址的分派,客户端获取了IP地址后仍然不知道服务器的IP地址,那么此时就无法建立TCP连接。需要设计了一套新的方案,能够同时满足这两个条件。即,在服务器端设计一个类似于DHCP的IP分发方案,同时将服务器的IP地址通知给各个客户端。在客户端没有IP地址并且也不知道服务器的IP地址的情况下,如果要和服务器进行网络通信,则需要通过数据链路层来完成。数据链路层通信是根据设备的MAC地址来进行的,而MAC地址在网卡出厂时已经分配完成。我们可以通过发送数据链路层报文(以太网帧)来完成客户端与服务器之间的交互。一个标准的EthernetII以太网链路层数据包格式如下:协议标识以及数据字段作为数据链路层的Payload发送出去。定义IP请求报文格式如下:报文的cmd字段可定义为2字节的整数值,表示为客户端发出的请求IP报文。定义IP请求的响应报文格式如下:在响应报文中把服务器的IP地址以及分配的客户端IP地址一起填入到Payload中,由服务器端发出。本实施例中,局域网中客户端与服务器自动建立TCP连接的方法包括以下步骤:T1客户端设备上电,并周期性发送请求IP请求响应;T2服务器上电初始化,接收IP请求,并解析客户端MAC地址;T3服务器从IP地址池提取合法的IP地址,并构造IP请求响应报文发送给客户端;T4客户端若未收到IP请求响应报文,则继续发送IP请求响应,若收到IP请求响应报文则进入S5;S5客户端解析服务器IP及分发给客户端的IP,并将其发送到服务器的TCP进行连接。具体解释为,客户端设备上电后周期性发送请求IP的链路层报文,目的MAC地址为广播地址,源MAC地址为客户端自己的MAC地址。这样,同一个局域网内的所有主机都将接收到这个IP请求报文,但只有服务器会响应IP请求。服务器主机收到这个请求报文后,解析出请求报文的源MAC地址(也就是发出IP请求的客户端MAC地址),从服务器维护的IP地址池中取出一个IP地址,同时把自己的IP地址与待分配的IP地址一起发回给客户端。客户端收到服务器回复的IP请求响应报文后,首先看目的MAC是否和自己的MAC地址吻合,如果吻合说明这是回复给自己的IP请求响应,再继续解析出分配给自己的IP地址,以及服务器的IP地址,这样客户端就分配到了IP地址,同时也知道了服务器的IP地址。接下来客户端就可以向服务器发起TCP连接了。实施例2本实施例中,针对数据链路层的数据包如何上送到用户态进程,操作系统提供的网络编本文档来自技高网...

【技术保护点】
1.局域网中客户端与服务器自动建立TCP连接的方法,其特征在于,所述方法包括以下步骤:T1客户端设备上电,并周期性发送IP请求报文;T2服务器上电初始化,接收IP请求,并解析客户端MAC地址;T3服务器从IP地址池提取合法的IP地址,并构造IP请求响应报文发送给客户端;T4客户端若未收到IP请求响应报文,则继续发送IP请求响应,若收到IP请求响应报文则进入S5;S5客户端解析服务器IP及分发给客户端的IP,完成服务器与TCP的连接。

【技术特征摘要】
1.局域网中客户端与服务器自动建立TCP连接的方法,其特征在于,所述方法包括以下步骤:T1客户端设备上电,并周期性发送IP请求报文;T2服务器上电初始化,接收IP请求,并解析客户端MAC地址;T3服务器从IP地址池提取合法的IP地址,并构造IP请求响应报文发送给客户端;T4客户端若未收到IP请求响应报文,则继续发送IP请求响应,若收到IP请求响应报文则进入S5;S5客户端解析服务器IP及分发给客户端的IP,完成服务器与TCP的连接。2.根据权利要求1所述的局域网中客户端与服务器自动建立TCP连接的方法,其特征在于,所述T1中,发送的IP请求为IP的链路层报文,目的MAC地址为广播地址,源MAC地址为客户端MAC地址。3.根据权利要求2所述的局域网中客户端与服务器自动建立TCP连接的方法,其特征在于,同一个局域网内的所有主机均接收所述IP的链路层报文,对IP请求的响应由服务器完成。4.根据权利要求2所述的局域网中客户端与服务器自动建立TCP连接的方法,其特征在于,所述链路层报文的数据链路层协议是自定义的协议标识,其结合及数据字段作为数...

【专利技术属性】
技术研发人员:陈舸陈诚王军
申请(专利权)人:武汉先同科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1