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 |