多端口资源共享(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);
至理名言
看别人的解决方案问题简单的,但在看到这样的方案前,你是否也想到过呢?