pushClusterSession method
void
pushClusterSession(})
推送消息到集群的某个session,dispatcher
为null时,对该集群的全部节点进行遍历发送
Implementation
void pushClusterSession(String cluster, {required String route, Map<String, dynamic>? data, required String ucid, ClusterClientDispatcher? dispatcher}) {
final clientList = _clusterClientMap[cluster];
if (clientList == null) return;
final packet = EasyPacket.pushsign(_config.secret, route: route, data: data, ucid: ucid);
if (dispatcher != null) {
final client = clientList[dispatcher(cluster, ucid, data)];
logDebug(['pushClusterSession >>>>>>', cluster, client.websocketUrl, packet]);
client.websocketRequest(EasyConstant.routeInnerP2P, data: packet.toJson(), waitCompleter: false);
} else {
for (var client in clientList) {
logDebug(['pushClusterSession >>>>>>', cluster, client.websocketUrl, packet]);
client.websocketRequest(EasyConstant.routeInnerP2P, data: packet.toJson(), waitCompleter: false);
}
}
}