setPortId method
设置端口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;
}