Skip to main content

业务数据绑定

业务数据绑定

  • 资源绑定是指把业务相关的数据和Tcp连接(即ChannelContext)关联起来,譬如ChannelContext-A代表了用户张三,张三的userid是333,就用下面的代码进行绑定
Tio.bindUser(ChannelContext-A, "333")
  • t-io目前内置了4种资源绑定,当然用户可以灵活使用这些绑定从而解决业务层所有的资源绑定问题,譬如可以给group加前缀"ios-",从而标记这个用户使用的是ios,譬如
Tio.bindGroup(ChannelContext-A, "333");
Tio.bindGroup(ChannelContext-A, "ios-" + "333");
  • 内置的4种资源绑定方法中,一个ChannelContext是可以绑定到多个groupid的,其它三个绑定都是一对一或多对一的关系,也就是说一个ChannelContext可以同时属于group-a,group-b... ...group-n

  • 下面贴一下这4个资源绑定的源代码

    /**
* 绑定业务id
* @param channelContext
* @param bsId
* @author tanyaowu
*/
public static void bindBsId(ChannelContext channelContext, String bsId) {
channelContext.tioConfig.bsIds.bind(channelContext, bsId);
}

/**
* 绑定群组
* @param channelContext
* @param group
* @author tanyaowu
*/
public static void bindGroup(ChannelContext channelContext, String group) {
channelContext.tioConfig.groups.bind(group, channelContext);
}

/**
* 绑定token
* @param channelContext
* @param token
* @author tanyaowu
*/
public static void bindToken(ChannelContext channelContext, String token) {
channelContext.tioConfig.tokens.bind(token, channelContext);
}

/**
* 绑定用户
* @param channelContext
* @param userid
* @author tanyaowu
*/
public static void bindUser(ChannelContext channelContext, String userid) {
channelContext.tioConfig.users.bind(userid, channelContext);
}