程序包 com.walker.tcp

接口 ProtocolResolver<T>

所有已知实现类:
AbstractProtocolResolver, LineProtocolResolver, LittleDProtocolResolver, MessageProtocolResolver, StringProtocolResolver, WebsocketProtocolResolver

public interface ProtocolResolver<T>
协议解析器定义
作者:
时克英
  • 字段详细资料

  • 方法详细资料

    • getName

      String getName()
      解析器名字
      返回:
    • getProtocolNum

      String getProtocolNum(T data, int size) throws ProtocolException
      根据输入数据内容,返回协议编号
      参数:
      data - 原始消息内容
      返回:
      抛出:
      ProtocolException - 会抛出未找到协议编号异常
    • getProtocolFeature

      Object getProtocolFeature()
      返回该协议的特征,例如:有些设备通信数据包开头以IW标记,这个就是特征。有些可能没有
      返回:
    • getDelimiter

      String getDelimiter()
      返回数据协议的结尾符号,大多数以\r\n结尾,也有#结尾等
      返回:
    • getOrder

      int getOrder()
      顺序号来排序,同时也当做唯一ID使用
      返回:
    • isRequireFeatureResolve

      boolean isRequireFeatureResolve()
      是否需要再根据特征(前缀)来判断解析器类型。

      目前多个解析情况下,主要根据分隔符来确定解析器,但如果有多个解析器分隔符一样,就要再确定前缀特征才能匹配。 因此该方法设置解析器是否需要继续根据特征来判断,查找ProtocolResolverPostProcessor
      返回:
    • getHeartBeatResponse

      Response<?> getHeartBeatResponse()
      获得一个心跳响应对象
      返回:
    • getAuthenticateInfo

      String getAuthenticateInfo(Request<?> request) throws AuthenticateException
      返回认证信息,通常第一次连接平台后,终端会发送认证请求。该方法返回认证后的用户信息,如:用户编号、设备编号等。
      参数:
      request -
      返回:
      抛出:
      AuthenticateException
    • isPermitNotRegisterConnect

      boolean isPermitNotRegisterConnect()
      是否支持未注册设备连接服务,如果允许(true)那么系统中未定义的设备也可以获得认证并提交数据。
      返回:
    • isOnlyMatchFeature

      boolean isOnlyMatchFeature()
      仅仅依靠报文特征来获得一个完整报文,如果是返回true

      有些设备发送的数据,为了简单不会使用长报文,而且不需要处理报文合并问题,一次一个短报文, 这样就只需要根据特征区分设备信息,而且通常数据长度也在报文中,例如:充电桩。
      返回: