类 SocketUserSessions

java.lang.Object
com.iohao.game.external.core.netty.session.SocketUserSessions
所有已实现的接口:
CmdRegionsAware, AttrOptionDynamic, UserSessions<io.netty.channel.ChannelHandlerContext,SocketUserSession>

public final class SocketUserSessions extends Object
tcp、websocket 使用的 session 管理器
     具备长连接的 session 管理器
 
作者:
渔民小镇
日期:
2023-02-18
  • 构造器详细资料

    • SocketUserSessions

      public SocketUserSessions()
  • 方法详细资料

    • add

      public SocketUserSession add(io.netty.channel.ChannelHandlerContext channelHandlerContext)
      从接口复制的说明: UserSessions
      加入到 session 管理
      参数:
      channelHandlerContext - sessionContext
    • getUserSession

      public SocketUserSession getUserSession(io.netty.channel.ChannelHandlerContext channelHandlerContext)
      从接口复制的说明: UserSessions
      获取 UserSession
      参数:
      channelHandlerContext - sessionContext
      返回:
      SessionContext
    • settingUserId

      public boolean settingUserId(UserChannelId userChannelId, long userId)
      从接口复制的说明: UserSessions
      设置 channel 的 userId,表示已经身份验证了(即登录过了)。
      参数:
      userChannelId - userChannelId
      userId - userId
      返回:
      true 设置成功
    • removeUserSession

      public void removeUserSession(SocketUserSession userSession)
      从接口复制的说明: UserSessions
      移除 UserSession
      参数:
      userSession - userSession
    • countOnline

      public int countOnline()
      从接口复制的说明: UserSessions
      当前在线人数
      返回:
      当前在线人数
    • broadcast

      public void broadcast(Object msg)
      从接口复制的说明: UserSessions
      全员消息广播 消息类型 ExternalMessage
      参数:
      msg - 消息
    • existUserSession

      public boolean existUserSession(long userId)
      从接口复制的说明: UserSessions
      true 用户存在
      指定者:
      existUserSession 在接口中 UserSessions<ChannelHandlerContext,Session extends UserSession>
      参数:
      userId - 用户id
      返回:
      true 用户存在
    • getUserSession

      public SocketUserSession getUserSession(long userId)
      从接口复制的说明: UserSessions
      获取 UserSession
      指定者:
      getUserSession 在接口中 UserSessions<ChannelHandlerContext,Session extends UserSession>
      参数:
      userId - userId
      返回:
      UserSession
    • getUserSession

      public SocketUserSession getUserSession(UserChannelId userChannelId)
      从接口复制的说明: UserSessions
      getUserSession
      指定者:
      getUserSession 在接口中 UserSessions<ChannelHandlerContext,Session extends UserSession>
      参数:
      userChannelId - userChannelId
      返回:
      userSession
    • removeUserSession

      public void removeUserSession(long userId, Object msg)
      从接口复制的说明: UserSessions
      根据 userId 移除 UserSession ,在移除前发送一个消息
           玩家存在时会触发
       
      指定者:
      removeUserSession 在接口中 UserSessions<ChannelHandlerContext,Session extends UserSession>
      参数:
      userId - userId
      msg - msg
    • forEach

      public void forEach(Consumer<SocketUserSession> consumer)
      从接口复制的说明: UserSessions
      遍历所有玩家
      指定者:
      forEach 在接口中 UserSessions<ChannelHandlerContext,Session extends UserSession>
      参数:
      consumer - consumer