接口 RangeBroadcaster
- 所有已知实现类:
- RangeBroadcast
public interface RangeBroadcaster
范围内的广播接口,这个范围指的是,指定某些用户进行广播。
 
     在执行广播前,开发者可以自定义业务逻辑,如
     - 添加一些需要广播的用户
     - 删除一些不需要接收广播的用户
 
 for example
 
         // example - 1
         RangeBroadcaster.of(flowContext)
                 // 需要广播的数据
                 .setResponseMessage(responseMessage)
                 // 添加需要接收广播的用户
                 .addUserId(1)
                 .addUserId(2)
                 .addUserId(List.of(3L, 4L, 5L))
                 // 排除一些用户,被排除的用户将不会接收到广播
                 .removeUserId(1)
                 .removeUserId(4)
                 // 执行广播,只有 2、3、5 可以接收到广播
                 .execute();
         // example - 2
         RangeBroadcaster.of(flowContext)
                 // 需要广播的数据(路由、业务数据)
                 .setResponseMessage(cmdInfo, StringValue.of("hello"))
                 // 添加需要接收广播的用户
                 .addUserId(1)
                 // 执行广播
                 .execute();
         // example - 3
         BrokerClientContext brokerClient = ...;
         var aggregationContext = brokerClient.getCommunicationAggregationContext();
         RangeBroadcaster.of(aggregationContext)
                  // 需要广播的数据(路由、业务数据)
                 .setResponseMessage(cmdInfo, StringValue.of("hello"))
                 // 添加需要接收广播的用户
                 .addUserId(1)
                 // 执行广播
                 .execute();
 
 
     // ------------ object ------------
     // 广播 object
     DemoBroadcastMessage message = new DemoBroadcastMessage();
     message.msg = "helloBroadcast --- 1";
     RangeBroadcaster.of(flowContext)
             .setResponseMessage(cmdInfo, message);
     // 广播 object list
     List<DemoBroadcastMessage> messageList = List.of(message);
     RangeBroadcaster.of(flowContext)
             .setResponseMessageList(cmdInfo, messageList);
     // ------------ int ------------
     // 广播 int
     int intValue = 1;
     RangeBroadcaster.of(flowContext)
             .setResponseMessage(cmdInfo, intValue);
     // 广播 int list
     List<Integer> intValueList = List.of(1, 2);
     RangeBroadcaster.of(flowContext)
             .setResponseMessageIntList(cmdInfo, intValueList);
     // ------------ long ------------
     // 广播 long
     long longValue = 1L;
     RangeBroadcaster.of(flowContext)
             .setResponseMessage(cmdInfo, longValue);
     // 广播 long list
     List<Long> longValueList = List.of(1L, 2L);
     RangeBroadcaster.of(flowContext)
             .setResponseMessageLongList(cmdInfo, longValueList);
     // ------------ String ------------
     // 广播 String
     String stringValue = "1";
     RangeBroadcaster.of(flowContext)
             .setResponseMessage(cmdInfo, stringValue);
     // 广播 String list
     List<String> stringValueList = List.of("1L", "2L");
     RangeBroadcaster.of(flowContext)
             .setResponseMessageStringList(cmdInfo, stringValueList);
     // ------------ boolean ------------
     // 广播 boolean
     boolean boolValue = true;
     RangeBroadcaster.of(flowContext)
             .setResponseMessage(cmdInfo, boolValue);
     // 广播 boolean list
     List<Boolean> boolValueList = List.of(true, false);
     RangeBroadcaster.of(flowContext)
             .setResponseMessageBoolList(cmdInfo, boolValueList);
 
 }
 - 从以下版本开始:
- 21.9
- 作者:
- 渔民小镇
- 另请参阅:
- 日期:
- 2024-06-02
- 
方法概要修饰符和类型方法说明default RangeBroadcasteraddUserId(long userId) 接收广播的用户default RangeBroadcasteraddUserId(Collection<Long> userIds) 接收广播的用户default RangeBroadcasteraddUserId(Collection<Long> userIds, long excludeUserId) 添加接收广播的用户,顺带排除一个不需要接收广播的用户voidexecute()响应消息到远程端(用户、玩家)接收广播的用户static RangeBroadcasterof(CommunicationAggregationContext aggregationContext) 创建一个默认的 RangeBroadcaster 对象(框架内置)static RangeBroadcasterof(FlowContext flowContext) 创建一个默认的 RangeBroadcaster 对象(框架内置)default RangeBroadcasterremoveUserId(long excludeUserId) 排除 userIddefault RangeBroadcastersetResponseMessage(CmdInfo cmdInfo) 设置响应的广播数据default RangeBroadcastersetResponseMessage(CmdInfo cmdInfo, boolean bizData) 设置响应的广播数据。default RangeBroadcastersetResponseMessage(CmdInfo cmdInfo, int bizData) 设置响应的广播数据。default RangeBroadcastersetResponseMessage(CmdInfo cmdInfo, long bizData) 设置响应的广播数据。default RangeBroadcastersetResponseMessage(CmdInfo cmdInfo, Object bizData) 设置响应的广播数据default RangeBroadcastersetResponseMessage(CmdInfo cmdInfo, String bizData) 设置响应的广播数据。setResponseMessage(ResponseMessage responseMessage) 设置响应的广播数据 ResponseMessagedefault RangeBroadcastersetResponseMessageBoolList(CmdInfo cmdInfo, List<Boolean> bizData) 设置响应的广播数据。default RangeBroadcastersetResponseMessageIntList(CmdInfo cmdInfo, List<Integer> bizData) 设置响应的广播数据。default RangeBroadcastersetResponseMessageList(CmdInfo cmdInfo, Collection<?> bizData) 设置响应的广播数据。default RangeBroadcastersetResponseMessageLongList(CmdInfo cmdInfo, List<Long> bizData) 设置响应的广播数据。default RangeBroadcastersetResponseMessageStringList(CmdInfo cmdInfo, List<String> bizData) 设置响应的广播数据。
- 
方法详细资料- 
listUserId接收广播的用户- 返回:
- 接收广播的用户
 
- 
setResponseMessage设置响应的广播数据 ResponseMessage- 参数:
- responseMessage- ResponseMessage
- 返回:
- this
 
- 
executevoid execute()响应消息到远程端(用户、玩家)
- 
of创建一个默认的 RangeBroadcaster 对象(框架内置)- 参数:
- aggregationContext- 框架网络通讯聚合接口
- 返回:
- RangeBroadcaster
 
- 
of创建一个默认的 RangeBroadcaster 对象(框架内置)- 参数:
- flowContext- FlowContext
- 返回:
- RangeBroadcaster
 
- 
addUserId接收广播的用户- 参数:
- userIds- userIds
- 返回:
- this
 
- 
addUserId接收广播的用户- 参数:
- userId- userId
- 返回:
- this
 
- 
addUserId添加接收广播的用户,顺带排除一个不需要接收广播的用户- 参数:
- userIds- 接收广播的 userIds
- excludeUserId- 需要排除的 userId
- 返回:
- this
 
- 
removeUserId排除 userId- 参数:
- excludeUserId- 需要排除的 userId
- 返回:
- this
 
- 
setResponseMessage设置响应的广播数据- 参数:
- cmdInfo- 路由
- 返回:
- this
 
- 
setResponseMessage设置响应的广播数据- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessageList设置响应的广播数据。业务数据会使用ByteValueList来包装(.协议碎片)。- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessage- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessageIntList设置响应的广播数据。业务数据会使用IntValueList来包装(.协议碎片)。- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessage- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessageLongList设置响应的广播数据。业务数据会使用LongValueList来包装(.协议碎片)。- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessage设置响应的广播数据。业务数据会使用StringValue来包装(.协议碎片)。- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessageStringList设置响应的广播数据。业务数据会使用StringValueList来包装(.协议碎片)。- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessage- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
- 
setResponseMessageBoolList设置响应的广播数据。业务数据会使用BoolValueList来包装(.协议碎片)。- 参数:
- cmdInfo- 路由
- bizData- 业务数据
- 返回:
- this
 
 
-