类 AbstractProtocolResolver<T>
java.lang.Object
com.walker.tcp.protocol.AbstractProtocolResolver<T>
- 所有已实现的接口:
ProtocolResolver<T>
-
字段概要
字段从接口继承的字段 com.walker.tcp.ProtocolResolver
ERR_NO_FEATURE, ERR_NOFOUND, ERR_PROTOCOL_FEATURE, ERR_PROTOCOL_SIZE -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected abstract Response<?>产生一个心跳响应对象返回数据协议的结尾符号,大多数以\r\n结尾,也有#结尾等Response<?>获得一个心跳响应对象getName()解析器名字intgetOrder()顺序号来排序,同时也当做唯一ID使用返回该协议的特征,例如:有些设备通信数据包开头以IW标记,这个就是特征。getProtocolNum(T data, int size) 根据输入数据内容,返回协议编号boolean该方法为了在界面上让freemarker展示使用boolean仅仅依靠报文特征来获得一个完整报文,如果是返回trueboolean判断是否允许未注册设备连接平台,如果设置为false,那么该方法将配合:isRegistered()来限制未注册设备访问。protected booleanisRegistered(String clientId) 该方法返回是否终端设备已经再平台注册,如果不允许“未注册设备连接”的话,需要重写该方法,确认设备列表中是否注册有该设备boolean是否需要再根据特征(前缀)来判断解析器类型。protected abstract String解析具体数据协议编号voidsetDelimiter(String delimiter) voidvoidsetOrder(int order) voidsetPermitNotRegisterConnect(boolean permitNotRegisterConnect) voidsetProtocolFeature(Object feature) 从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 com.walker.tcp.ProtocolResolver
getAuthenticateInfo
-
字段详细资料
-
logger
protected final transient org.slf4j.Logger logger
-
-
构造器详细资料
-
AbstractProtocolResolver
public AbstractProtocolResolver()
-
-
方法详细资料
-
getOrder
public int getOrder()从接口复制的说明:ProtocolResolver顺序号来排序,同时也当做唯一ID使用- 指定者:
getOrder在接口中ProtocolResolver<T>- 返回:
-
setOrder
public void setOrder(int order) -
setName
-
setProtocolFeature
-
setDelimiter
-
getName
从接口复制的说明:ProtocolResolver解析器名字- 指定者:
getName在接口中ProtocolResolver<T>- 返回:
-
getProtocolNum
从接口复制的说明:ProtocolResolver根据输入数据内容,返回协议编号- 指定者:
getProtocolNum在接口中ProtocolResolver<T>- 参数:
data- 原始消息内容- 返回:
- 抛出:
ProtocolException- 会抛出未找到协议编号异常
-
getProtocolFeature
从接口复制的说明:ProtocolResolver返回该协议的特征,例如:有些设备通信数据包开头以IW标记,这个就是特征。有些可能没有- 指定者:
getProtocolFeature在接口中ProtocolResolver<T>- 返回:
-
getDelimiter
从接口复制的说明:ProtocolResolver返回数据协议的结尾符号,大多数以\r\n结尾,也有#结尾等- 指定者:
getDelimiter在接口中ProtocolResolver<T>- 返回:
-
onResolve
解析具体数据协议编号- 参数:
data-- 返回:
- 抛出:
ProtocolException
-
isRequireFeatureResolve
public boolean isRequireFeatureResolve()从接口复制的说明:ProtocolResolver是否需要再根据特征(前缀)来判断解析器类型。 目前多个解析情况下,主要根据分隔符来确定解析器,但如果有多个解析器分隔符一样,就要再确定前缀特征才能匹配。 因此该方法设置解析器是否需要继续根据特征来判断,查找ProtocolResolverPostProcessor- 指定者:
isRequireFeatureResolve在接口中ProtocolResolver<T>- 返回:
-
getRequireFeatureResolve
public boolean getRequireFeatureResolve()该方法为了在界面上让freemarker展示使用- 返回:
-
getHeartBeatResponse
从接口复制的说明:ProtocolResolver获得一个心跳响应对象- 指定者:
getHeartBeatResponse在接口中ProtocolResolver<T>- 返回:
-
doCreateOneResponse
产生一个心跳响应对象- 返回:
-
setPermitNotRegisterConnect
public void setPermitNotRegisterConnect(boolean permitNotRegisterConnect) -
isPermitNotRegisterConnect
public boolean isPermitNotRegisterConnect()判断是否允许未注册设备连接平台,如果设置为false,那么该方法将配合:isRegistered()来限制未注册设备访问。 子类需要重新覆盖isReistered()方法。- 指定者:
isPermitNotRegisterConnect在接口中ProtocolResolver<T>- 返回:
-
isRegistered
该方法返回是否终端设备已经再平台注册,如果不允许“未注册设备连接”的话,需要重写该方法,确认设备列表中是否注册有该设备- 参数:
clientId-- 返回:
-
isOnlyMatchFeature
public boolean isOnlyMatchFeature()从接口复制的说明:ProtocolResolver仅仅依靠报文特征来获得一个完整报文,如果是返回true有些设备发送的数据,为了简单不会使用长报文,而且不需要处理报文合并问题,一次一个短报文, 这样就只需要根据特征区分设备信息,而且通常数据长度也在报文中,例如:充电桩。- 指定者:
isOnlyMatchFeature在接口中ProtocolResolver<T>- 返回:
-