欢迎来到天天文库
浏览记录
ID:26823519
大小:142.58 KB
页数:4页
时间:2018-11-29
《数据访问接口学习小结.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据访问接口学习小结数据访问接口进程是通过向数据服务器发送配置信息与数据信息的请求,在服务端通过信息的解析,把所请求的配置及数据组包,向请求端发送。在这个进程中主要涉及到两个线程:监听线程以及数据信息处理线程。整个进程的流程图如下:图1进程总流程图一、监听线程监听线程的作用主要是进行用户端与服务器端通信,保证数据信息稳定的传输。监听线程主要涉及的函数有:(1)socket函数:用于创建监听套接字;(2)setsockopt函数:设置与指定套接字相关的选项。为套接字相关的选项设置当前值,套接字可以是任何类型,可以处于任何状态。本线程几次用到了这个函数,它们的
2、作用分别为:(1)判断地址的复用功能;(2)判断套接字的延迟功能;(3)关闭套接字时释放资源。(3)bind函数:用于绑定一个套接字到指定端口;(4)listen函数:把套接字设为监听状态;(5)select函数:用于完成非阻塞式的工作方式,监视数据描述文件是否有变化(是否有套接字),以配合后面的accept函数进行连接;(6)accept函数:确认外来连接,并将它与一个立即建立的数据套接字联系起来。原始套接字返回到监听状态。(7)updateSocket函数:用于更新套接字,保证数据流传输的畅通。监听线程的流程图为:图2监听线程流程图二、数据信息处理线程
3、消息数据处理线程的功能是:在请求端把配置组包向服务端发送请求,在服务端响应,解析配置,到数据库中根据配置提取相应的数据,组包向请求端发送,完成整个数据的传输过程。其线程接口类名:CDataProcThread。在此类中用到的函数有:(1)init函数:用于初始化,加载配置;(2)run函数:用于执行线程;(3)recvMsg函数:用于判断是否接收到套接字信息;(4)ReadIO函数:读取IO口的信息,也是用于判断是否有信息(recvMsg函数调用到此函数);(5)ReadAvailable函数;判断套接字流是否有数据到达(ReadIO函数调用到此函数);(
4、6)Readn函数;读取数据信息,返回已经读取的字节数(ReadIO函数调用到此函数);(7)expMsg函数:解析消息函数;(8)expCfgReqMsg函数;组织配置信息函数(受expMsg函数调用);(1)orgSyncPwrCfgMsg函数:发动机有功配置消息组包,受expCfgReqMsg函数调用;(2)orgSyncFreqCfgMsg函数:发动机频率配置消息组包,受expCfgReqMsg函数调用;(3)orgStatFreqCfgMsg函数:厂站频率消息组包,受expCfgReqMsg函数调用;(4)expDataReqMsg函数:解析数据
5、请求消息包,受expMsg函数调用;(5)getDetailData函数:从数据文件提取数据,受expMsg函数调用;(6)orgDataMsg函数:数据函数提取后组包,受expMsg函数调用,准备发送到请求端;数据处理线程流程图如下:图3数据处理线程流程图
此文档下载收益归作者所有