程序包 com.walker.tcp

接口 Connection

所有已知实现类:
AbstractConnection, DefaultLongConnection, LongConnection, LongConnectionMeta

public interface Connection
  • 方法详细资料

    • getId

      String getId()
      通道ID,这个是java系统连接通道提供的全局唯一ChannelId
      返回:
    • getName

      String getName()
      连接名称,这个也是系统唯一的,通常由业务定义或者绑定。如:卡号、设备终端IMEI等
      返回:
    • setName

      void setName(String name)
    • getCreateTimeMills

      long getCreateTimeMills()
    • supportLongConnection

      boolean supportLongConnection()
    • isAuthenticated

      boolean isAuthenticated()
      如果是长连接模式,返回该连接是否被业务认证。如果未认证就无法使用
      返回:
    • isIdle

      boolean isIdle()
      当前是否空闲
      返回:
    • read

      Request<?> read()
    • write

      void write(Response<?> response)
    • disconnect

      void disconnect()
      服务端强制断开连接
    • getEngineId

      int getEngineId()
      获得该连接对应的引擎ID,通常一个项目中可能存在多种服务,每个服务对应一个服务引擎。

      如:一个TCP监听1010端口,另外一个服务监听2020端口等。

      如果系统只有一个监听服务,默认engineId = 0
      返回:
    • getLastTime

      long getLastTime()
      返回连接最后一次活动时间
      返回:
    • bindName

      void bindName(String name)
      连接绑定业务标识,如:设备ID等

      绑定后,连接就被认证,后续可以使用了
    • isConnected

      boolean isConnected()
      长连接,判断是否连接状态
      返回:
    • getProtocolResolver

      ProtocolResolver getProtocolResolver()
    • setProtocolResolver

      void setProtocolResolver(ProtocolResolver resolver)
      设置报文解析器对象。对于一个连接会关联一个解析器以方便在request和response中使用
      参数:
      resolver -
    • getConnectionHost

      String getConnectionHost()
      获取该连接对象绑定的主机信息,在集群环境中,需要标记连接对应主机。

      目前在聊天模块中,多主机部署通过消息方式推送,主机信息是队列的一部分,通过对方连接的主机知道消息如何被路由接收。

      返回:
    • setConnectionHost

      void setConnectionHost(String connectionHost)
    • getAlreadyLogin

      int getAlreadyLogin()