APP下载

一种基于TCP/IP协议的通信数据传输方式

2021-12-14师永林

网络安全技术与应用 2021年11期
关键词:浮点网络服务服务端

◆师永林

一种基于TCP/IP协议的通信数据传输方式

◆师永林

(青海黄河上游水电开发有限责任公司工程建设分公司 青海 810000)

为了实现客户端与服务端之间通信数据的无障碍传输、识别,本文介绍了一种基于TCP/IP协议的网络搭建方法,并提出了一种简单的通信数据封装、解封装方式。在工业上可有效解决较为简单的网络通信数据交互问题。

TCP/IP;Socket;封装;解封装

1 引言

现阶段工业自动化领域越来越依赖于互联网,“互联网+”概念已经在工业领域普遍具象化[1],如智慧新能源电站、全自动无人车间、车载智能导航系统等。一个完整的智能生产系统往往由多个分系统组成,而网络通信协议及数据封装、解封装方式是各个分系统之间无障碍交互的桥梁与关键。本文基于TCP/IP协议提出了一种客户端与服务器间简单的数据传输、封装及解封装策略。

2 Socket套接字建立网络通信

在TCP/IP协议网络中,通常采用客户端(client)、服务器(server)方式实现两台主机进程之间的通信[2]。套接字作为一个指向传输提供者的句柄,是TCP/IP通信协议的重要组成[3]。根据性质和作用的不同,套接字分为原始套接字、流式套接字和数据包套接字。本文采用双向、有序、可靠的流式套接字用于数据传输服务。客户端、服务器握手过程如图1所示。

首先,服务器端采用Socket套接字句柄创建一个网络服务,然后使用bind()函数为该服务绑定主机的IP地址和分配端口号,并通过listen()函数建立对客户端的实时监听。另外,客户端同样采用socket套接字句柄开启一个网络服务,并使用connect()函数向主机服务器发送连接请求。服务器端正常监听到该连接申请后使用accept()函数接受客户端的连接请求并建立网络连接。此时,客户端与服务器之间可以通过read()和write()函数实现双方数据的交互。待网络服务结束使用后可采用close()函数关闭二者创建的网络服务项。

3 通信数据的处理方式

在工业领域,使用网络通信可实现图像、字母及数字(整型、浮点型)等数据类型的传递[4],在Socket套接字建立的网络通信中采用read()和write()函数可实现各类数据的读、写操作,此时需要对数据制定一种封装、解封装规则,如图2所示。

图中通信数据由字母及浮点型数据组成,当通信数据类型较多时,可在数据位开头添加char型的标识位,便于区分数据。在服务端,对char型数据a0可直接进行Int型强制类型转换,对浮点型数据a1可乘以1000.00后进行Int型强制类型转换,后对该数据的地址0、1、2、3分别进行0、8、16、24位的“>>”位移操作,将32位Int型高位数据移至低位数据,并进行byte型强制类型转换后按顺序写入Byte[] array1数组内,其他数据依次按上述方法进行封装。在客户端,接收到数据并写入Byte[] array2数组,同理,按上述步骤反向推理即为数据解封装过程,最终可获得与服务端正确对应的各类数据。上述数据在打包过程中对浮点型数据乘以1000.00后取整,主要目的是在解包时可保留小数点后三位。

4 结论

经实际编程测试,Socket套接字建立的网络通信比较稳定可靠,且本文提出的通信数据封装、解封装方式具有编程简单、运行快速等优点,整体鲁棒性较好。

[1]黄娅娜.中国工业自动化的回顾与思考[J].中国社会科学院工业经济研究所,2019(4):22-3.

[2]夏素霞,袁宗福,李芳. 计算机网络技术与应用[M].人民邮电出版社,2010.

[3]陈香凝,王烨阳,陈婷婷. Windows网络与通信程序设计[M].人民邮电出版社,2017.

[4]张常清,晏西国,卜庆凯. 基于移动互联网的APP与服务器之间的通信设计[J].青岛大学学报(工程技术版),2015(6):26-30.

猜你喜欢

浮点网络服务服务端
LEO星座增强GNSS PPP模糊度浮点解与固定解性能评估
网络服务合同的法律问题研究
基于网络服务者在侵权法中的应用分析
基于Simulink浮点模型和定点模型的问题研究
基于浮点DSP的铁路FSK信号检测
Web Services整合机制研究
新时期《移动Web服务端开发》课程教学改革的研究
网络服务行为的可罚性
摸清黑客套路防范木马侵入
单精度浮点加法器的FPGA实现