receiveMessage method

  1. @override
void receiveMessage(
  1. WebRtcHttpMessage message
)
override

接收到控制消息(由 DataChannelObserver 调用) message 接收到的消息

Implementation

@override
void receiveMessage(WebRtcHttpMessage message) {
  // 打印完整的消息 JSON
  print('[$_tag] Received message JSON: ${message.toJsonString()}');

  // 1. 基于 requestId && apiUrl 获取缓存 callback
  final key = _makeKey(message.requestId, message.apiUrl);
  print('[$_tag] Received message for key: $key');

  final callback = _callbackCache[key];

  if (callback != null) {
    // 2. 通过 callback 抛送
    try {
      callback(message.requestId, message.apiUrl, message);
    } catch (e) {
      print('[$_tag] Callback execution failed: $e');
    } finally {
      // 清除缓存
      _callbackCache.remove(key);
      print('[$_tag] Removed callback for key: $key');
    }
  } else {
    print('[$_tag] No callback found for key: $key');
  }
}