emit method

Future<void> emit(
  1. String event,
  2. dynamic payload
)

发送事件帧

Implementation

Future<void> emit(String event, dynamic payload) async {
  final channel = _channel;
  if (channel == null || !_connected) {
    throw GoChatException('WebSocket 未连接');
  }
  final frame = <String, dynamic>{'event': event};
  if (payload != null) frame['payload'] = payload;
  final plain = jsonEncode(frame);
  final envelope = await AesEnvelope.encrypt(plain, _aesKey);
  GoChatLogger.d('WS → $event');
  channel.sink.add(jsonEncode(envelope));
}