一种基于TCP/IP协议SOCKET通信的方法及系统技术方案

技术编号:30333034 阅读:19 留言:0更新日期:2021-10-10 00:53
本发明专利技术涉及一种基于TCP/IP协议SOCKET通信的方法及系统,启动Socket通信中间件,Socket通信中间件与目标主机建立多个用于通信的Socket回线,自动检测数据库及校验配置信息,数据库正常及配置信息正确后启动通信日志管理模块,Socket回线启用Client端通信回线和Server端通信回线,Client端通信回线向远程主机或Server端通信回线发送电文信息,Server端通信回线接收远程主机或Client端通信回线的电文信息;当Socket回线处于连接状态时,Client端通信回线启动心跳检测线程和接口表监测线程,Server端通信回线启动电文接收线程和Socket状态监测线程。本发明专利技术采用同步通信机制,通过配置可以实现不同主机间的相互通信,衔接网络上各个业务系统的各个模块或不同的应用程序,以达到系统间的互联互通和数据实时交互等目的。交互等目的。交互等目的。

【技术实现步骤摘要】
一种基于TCP/IP协议SOCKET通信的方法及系统


[0001]本专利技术涉及通讯
,更具体地说,它涉及一种基于TCP/IP协议SOCKET通信的方法及系统。

技术介绍

[0002]随着我国制造业的数字化转型升级,正加速拥抱工业互联网,在生产制造环节把各个业务系统、生产系统各个生产线连接融合,实现跨设备、跨系统、跨厂区、跨地区的互联互通,避免了“信息孤岛”,推动制造服务体系智能化,催生大规模个性化定制、共享制造等工业经济新业态。
[0003]生产制造是一个庞大的体系,有众多不同的系统管理和支撑着生产制造过程中的各个环节,制造工艺、生产管理、生产经营等各项业务是连贯的、环环相扣的,要走出“信息孤岛”,把生产制造各关联的系统整合起来,要把生产制造各个环节的信息打通,数据实时交互,资源共享,系统间的深度融合,关联生产业务的无缝对接,生产制造过程中高效协同,才能使企业的生产经营高效管控。其中最为关键的要素就是生产制造环节各种信息要实时、稳定、可靠高效的传递,系统间互联互通,实现企业的生产经营管控系统一体化集成。但是现有的通信方式缺乏实时监测的功能,一旦出现断线,在短时间内难以自动重连,对生产有极大的负面影响。

技术实现思路

[0004]针对现有技术存在的不足,本专利技术的目的在于提供一种基于TCP/IP协议SOCKET通信的方法,采用同步通信机制,通过配置可以实现不同主机间的相互通信,衔接网络上各个业务系统的各个模块或不同的应用程序,以达到系统间的互联互通和数据实时交互等目的。
[0005]本专利技术的上述技术目的是通过以下技术方案得以实现的:
[0006]一种基于TCP/IP协议SOCKET通信的方法,具体步骤如下:
[0007]启动Socket通信中间件,所述Socket通信中间件与目标主机建多个立用于通信的Socket回线,自动检测数据库及校验配置信息,数据库正常及配置信息正确后启动通信日志管理模块,Socket回线分别启用Client端通信回线和Server端通信回线,Client端通信回线向远程主机或Server端通信回线发送电文信息,Server端通信回线接收远程主机或Client端通信回线的电文信息;
[0008]当Socket回线处于连接状态时,Client端通信回线启动心跳检测线程和接口表监测线程,Server端通信回线启动电文接收线程和Socket状态监测线程;
[0009]如果心跳检测线程成功发送心跳电文至Server端通信回线,则说明Socket回线连接状态正常,刷新Client端通信回线的心跳状态,如果心跳检测线程未能发送心跳电文至Server端通信回线,则说明心跳检测线程的回线通信存在异常,关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机,实现异常断线重连;
[0010]如果接口表监测线程向远程主机发送数据电文后收到底层响应,则说明Socket回线连接状态正常,如果接口表监测线程向远程主机发送数据电文后不能收到底层响应,则说明接口表监测线程存在异常,关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机,实现异常断线重连;
[0011]如果电文接收线程接收到心跳电文后,则刷新Server端通信回线的心跳状态,并等待下一次接收心跳电文;
[0012]如果Socket状态监测线程监测到Socket回线处于未连接状态或处于异常状态时,关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机,实现异常断线重连。
[0013]在其中一个实施例中,启动Client端通信回线后,检测Socket回线是否处于连接状态,当Socket回线处于未连接状态时,先启动Socket回线与远程主机的连接,完成连接后,再启动心跳监测线程和接口表监测线程,确保Socket回线在异常断线时可实现断线自动重连。
[0014]在其中一个实施例中,启动Server端通信回线后,检测Socket回线是否处于连接状态,如果Socket回线处于未连接状态,等待Socket回线与远程主机的连接后,根据配置信息对远程主机进行合法性校验,如果校验不通过,则关闭所述Socket回线,并开启新连接的Socket回线与远程主机连接,待合法性校验通过后,所述Socket回线不再接收新的连接,启动电文接收线程和Socket状态监测线程。
[0015]在其中一个实施例中,启动心跳监测线程后,先判断Socket回线的连接状态,当Socket回线处于正常连接状态时才发送心跳电文,当Socket回线处于异常状态时,关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机。
[0016]在其中一个实施例中,心跳监测线程发送心跳电文后,判断心跳电文是否发送成功,如果心跳电文发送成功,则刷新Client端通信回线的心跳状态,并返回再次判断Socket回线的连接状态,当Socket回线处于正常连接状态时才再次发送心跳电文;如果心跳电文发送失败,则关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机。
[0017]在其中一个实施例中,接口表监测线程先获取数据电文的配置,然后轮询获取待发送的数据电文,在发送数据电文前,先判断Socket回线是否处于正常连接的状态;
[0018]当Socket回线处于正常连接的状态时,接口表监测线程向远程主机发送数据电文,当Socket回线处于异常状态时,关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机。
[0019]在其中一个实施例中,电文接收线程启动后,从远程主机处接收电文信息,当电文接收线程接收到电文信息后,对电文信息类型进行判断;
[0020]当电文信息是心跳电文时,刷新Server端通信回线的心跳状态,并向远程主机发送心跳底层响应,然后等待接收新的电文信息;
[0021]当电文信息是数据电文时,对数据电文进行电文校验,如果电文校验通过,则保存所述数据电文,并向远程主机发送电文底层响应,然后等待接收新的电文信息,如果电文校验不通过,则丢弃所述数据电文,然后等待接收新的电文信息。
[0022]在其中一个实施例中,远程主机接收到电文接收线程反馈的电文底层响应后,向接口表监测线程发送电文底层响应;
[0023]当接口表监测线程接收到电文底层响应时,接口表监测线程更新电文状态,并再
次轮询获取待发送的数据电文;
[0024]当接口表监测线程没有接收到电文底层响应时,关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机。
[0025]在其中一个实施例中,启动Socket状态监测线程后,对Socket回线是否连接及Socket回线是否正常进行检测,当Socket回线处于未连接状态或状态不正常时,关闭此Socket回线,释放资源,自动创建新的Socket连接远程主机。
[0026]在其中一个实施例中,启动Socket状态监测线程后,先对Socket回线是否连接进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TCP/IP协议SOCKET通信的方法,其特征在于,启动Socket通信中间件,所述Socket通信中间件与目标主机建立多个用于通信的Socket回线,自动检测数据库及校验配置信息,数据库正常及配置信息正确后启动通信日志管理模块,Socket回线分别启用Client端通信回线和Server端通信回线,Client端通信回线向远程主机或Server端通信回线发送电文信息,Server端通信回线接收远程主机或Client端通信回线的电文信息;当Socket回线处于连接状态时,Client端通信回线启动心跳检测线程和接口表监测线程,Server端通信回线启动电文接收线程和Socket状态监测线程;如果心跳检测线程成功发送心跳电文至Server端通信回线,则说明Socket回线连接状态正常,刷新Client端通信回线的心跳状态,如果心跳检测线程未能发送心跳电文至Server端通信回线,则说明心跳检测线程的回线通信存在异常,关闭所述Socket回线,释放资源,自动创建新的Socket连接远程主机,实现异常断线自动重连;如果接口表监测线程通过通信回线向远程主机发送数据电文后能收到底层响应,则说明Socket回线通信正常,如果接口表监测线程向远程主机发送数据电文后不能收到底层响应,则说明接口表监测线程存在异常,关闭所述Socket回线,释放资源,并自动创建新的Socket连接远程主机,实现异常断线自动重连;如果电文接收线程接收到心跳电文后,则刷新Server端通信回线的心跳状态,并等待下一次接收心跳电文;如果Socket状态监测线程监测到Socket回线处于未连接状态或处于异常状态时,关闭所述Socket回线,释放资源,并自动创建新的Socket连接远程主机,实现异常断线自动重连。2.如权利要求1所述的基于TCP/IP协议SOCKET通信的方法,其特征在于,启动Client端通信回线后,检测Socket回线是否处于连接状态,当Socket回线处于未连接状态时,先启动Socket回线与远程主机的连接,完成连接后,再启动心跳监测线程和接口表监测线程,确保Socket回线在异常断线时可实现断线自动重连。3.如权利要求1所述的基于TCP/IP协议SOCKET通信的方法,其特征在于,启动Server端通信回线后,检测Socket回线是否处于连接状态,如果Socket回线处于未连接状态,等待Socket回线与远程主机的连接后,根据配置信息对远程主机进行合法性校验,如果校验不通过,则强制关闭所述Socket回线,释放资源,并开启一个新的Socket回线等待连接,待合法性校验通过后,所述Socket回线不再接收新的连接,启动电文接收线程和Socket状态监测线程。4.如权利要求2所述的基于TCP/IP协议SOCKET通信的方法,其特征在于,启动心跳监测线程后,先判断Socket回线的连接状态,当Socket回线处于正常连接状态时才发送心跳电文,当Socket回线处于异常状态时,关闭所述Socket回线,释放资源,并开启新连接的Socket回线与远程主机连接。5.如权利要求4所述的基于TCP/IP协议SOCKET通信的方法,其特征在于,...

【专利技术属性】
技术研发人员:吴衍聪冯立冬陈宇曦史海杰景丽霞赵国强龚金尧晋高艳黄华宁
申请(专利权)人:广东昆仑信息科技有限公司
类型:发明
国别省市:

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

1