四. SECS/GEM封装库RapidSecs开发手记-基础库开发-2

5.命名空间

5.1 空间结构

5.2 HSMS

此命名空间中的类主要处理和HSMS协议相关的操作。

5.2.1 类HsmsClient

从Socket类派生,HSMS的被动模式使用的类。主要接口如下:

主要接口

接口功能

Accept

接受连接

Connect

建立连接

Send

发送数据

OnRecv

接收数据

OnTimer

超时处理

OnClose

关闭连接

主要成员

 

m_pHs

HsmsServer对象指针

m_sSet

RAPID_SECS_CFG对象

5.2.2类HsmsServer

从Socket类派生,HSMS的主动模式使用的类。主要接口如下:

主要接口

接口功能

StartupServer

开始服务

CloseServer

关闭服务

主要成员

 

m_bRuning

服务是否运行

m_sSet

RAPID_SECS_CFG对象

5.2.3类HsmsFun

处理Hsms的每一次会话消息内容,包括:消息头(10字节)+数据(N字节)。主要用于解析消息头中的各个字段。主要接口如下:

主要接口

接口功能

DevId

获取设备ID

MsgId

获取消息ID

Str

获取Stream代码

Fun

获取Function代码

PType

获取PType

SType

获取SType

IsNeedReply

判断是否需要响应

Buffer

消息缓冲区

Length

消息长度

Data

数据缓冲区

Size

数据长度

主要成员

 

m_pMsgBuf

LPHSMS_DATA_BUFFER消息缓冲区

5.2.4 类SessionManager

用于管理主机和设备间的会话连接。主要接口如下:

主要接口

接口功能

RegisterSession

开始服务

UnregisterSession

关闭服务

FindSessionHolder

 

主要成员

 

m_map_sessions

MAP_SESSION_HOLDER对象,会话映射表。

5.3 SECS

此命名空间中的类主要处理和SECS-II协议相关的操作。

5.3.1 类SecsClient

此类从HsmsClient派生,用于被动模式下的必要的进一步处理SECS消息的接收和应答。主要接口如下:

主要接口

接口功能

GetRemoteIpAddr

获取目标主机IP地址

GetRemotePort

获取目标主机端口号

SendRequest

发送命令请求

SendReply

发送响应命令

OnRecv

接收数据

5.3.2 类SecsServer

此类从HsmsServer派生,用于主动模式下的SECS消息的进一步处理。主要接口如下:

主要接口

接口功能

GetLocalIpAddr

获取本地IP地址

GetLocalPort

获取本地端口号

GetMode

获取当前模式(Active/Passive)

5.4 sml

SECS消息语言,用于描述SECS-II消息内容的符号语言。主要用于打印消息时使用,便于查看具体的消息内容。

此部分主要定义的是一些全局的API接口函数,主要接口如下:

主要接口

接口功能

EncodeSML

将数据编码成SML格式

DecodeSML

将SML格式数据解码

5.5 os_utils

此命名空间中定义的是一些公用的类、接口、对象。只介绍2个比较重要的。

5.5.1 类Socket

对socket相关API的封装类,用于处理socket通讯。主要接口如下:

主要接口

接口功能

Accept

接受连接

Connect

建立连接

Listen

监听连接

Send

发送数据

__AcceptProc

接受连接线程

_RecvProc

接收数据线程

主要成员

 

m_sock

SOCKET对象

5.5.2 类Timer

此类用于HSMS协议中规定的几种超时的管理。主要接口如下:

主要接口

接口功能

SetTimer

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值