Skip to main content

多端口资源共享(1)概念和API

需求场景

  • 端口5555只接受IOS过来的请求
  • 端口6666只接受安卓过来的请求
  • 不管是IOS还是安卓,应用层协议格式是一样的

问题

  • 一条消息,我想发给同一个群组的用户,而这同一个群组用户可能是安卓用户,也可能是IOS用户

常规的解决办法

// 第一步:先进行群组绑定
Tio.bindGroup(channelContext_IOS, group_A);
Tio.bindGroup(channelContext_Android, group_A)

// ... ...省略

// 第二步:再进行分别发送
Tio.sendToGroup(tioConfig_IOS, group_A, packet_1);
Tio.sendToGroup(tioConfig_Android, group_A, packet_1)

这样做,也是可以的,但总觉得哆嗦,而且容易忘记,再者,如果有3个端口,4个端口呢,岂不很麻烦?

这时候t-io提供的资源共享能力就派上用场了,代码很简单

利用t-io的资源共享能力

// 第一步:系统启动初始化时,调一下共享函数
tioConfig_IOS.share(tioConfig_Android);

// ... ...省略

// 第二步:
Tio.bindGroup(channelContext_IOS, group_A);// 或Tio.bindGroup(channelContext_Android, group_A);

// 第三步:再进行分别发送
Tio.sendToGroup(tioConfig_IOS, group_A, packet_1);//或Tio.sendToGroup(tioConfig_Android, group_A, packet_1);

至理名言

看别人的解决方案问题简单的,但在看到这样的方案前,你是否也想到过呢?