setPortId method

void setPortId(
  1. int portId
)

设置端口ID并注册到IsolateNameServer,不要手动调用 Set the port ID and register to IsolateNameServer, do not call manually

Implementation

void setPortId(int portId) {
  if (_receivePort == null) {
    throw StateError('Channel is closed');
  }

  // 移除旧的端口映射(如果存在)
  if (_portId != null) {
    IsolateNameServer.removePortNameMapping(_portId.toString());
  }

  // 注册新的端口映射
  final registered = IsolateNameServer.registerPortWithName(
      _receivePort!.sendPort, portId.toString());

  if (!registered) {
    throw StateError(
        'Failed to register port ID: $portId, it may already be in use');
  }

  _portId = portId;
}