插件下载链接https://download.csdn.net/download/lzh445096/10855933
插件说明
这个插件是智慧城市下的物联网网络连接插件,主要是维护主服务器与各个设备的TCP网络连接。主程序只需调用入口函数,即可自动启动连接各个网络设备的线程,各线程分别建立各种设备的连接和网络状态维护,并对网络故障通过回调函数返回,对收到的报文也通过回调函数返回给主程序。主要依赖库是window系统下的MFC网络连接库。
功能
这个模块具有管理和维护主服务器与各网络设备之间的网络连接和数据收发的功能,具体有监听设备,请求连接设备,发送报文,获取报文,故障检测等功能
流程
事先需要建立一个RTDB的类来存储各网络设备的信息,例如一个环境设备类,需要保存此设备的ip,端口,设备类型等信息,这样就方便连接时找到对应的设备对象。这个RTDB类的初始化可以由主程序去完成,然后调用此模块的入口函数,启动各个连接不同类型设备的网络线程,在连接建立后会在一个网络状态维护数值中记录此连接的socket等信息,把获取的报文写到一个全局的数组中,主程序从数组中读取报文。
主要函数
由于各个网络设备之间的连接过程遵循tcp协议,因此可以给定统一的函数,只需根据参数的不同区分不同的设备
功能函数 | 基本功能 | 主要参数 |
|
|
|
|
|
|
客户端请求连接及连接后通信 | connect() | 服务端ip,设备类型type |
服务端监听连接及连接后通信 | select() listen() | 待监听客户端ip数组,设备类型type |
发送数据 | send() | 目标ip,数据流buf |
接受数据 | recv() | 目标ip,数据流buf |
|
|
|