export type PortRange = { start: number; end: number };
function isValidPort(port: number): boolean {
return Number.isFinite(port) && port > 0 && port <= 65535 ;
}
function clampPort(port: number, fallback: number): number {
return isValidPort(port) ? port : fallback;
}
function derivePort(base: number, offset: number, fallback: number): number {
return clampPort(base + offset, fallback);
}
export const DEFAULT_BRIDGE_PORT = 18790 ;
export const DEFAULT_BROWSER_CONTROL_PORT = 18791 ;
export const DEFAULT_CANVAS_HOST_PORT = 18793 ;
export const DEFAULT_BROWSER_CDP_PORT_RANGE_START = 18800 ;
export const DEFAULT_BROWSER_CDP_PORT_RANGE_END = 18899 ;
const DEFAULT_BROWSER_CDP_PORT_RANGE_SPAN =
DEFAULT_BROWSER_CDP_PORT_RANGE_END - DEFAULT_BROWSER_CDP_PORT_RANGE_START;
export function deriveDefaultBridgePort(gatewayPort: number): number {
return derivePort(gatewayPort, 1 , DEFAULT_BRIDGE_PORT);
}
export function deriveDefaultBrowserControlPort(gatewayPort: number): number {
return derivePort(gatewayPort, 2 , DEFAULT_BROWSER_CONTROL_PORT);
}
export function deriveDefaultCanvasHostPort(gatewayPort: number): number {
return derivePort(gatewayPort, 4 , DEFAULT_CANVAS_HOST_PORT);
}
export function deriveDefaultBrowserCdpPortRange(browserControlPort: number): PortRange {
const start = derivePort(browserControlPort, 9 , DEFAULT_BROWSER_CDP_PORT_RANGE_START);
const end = start + DEFAULT_BROWSER_CDP_PORT_RANGE_SPAN;
if (end <= 65535 ) {
return { start, end };
}
return {
start: DEFAULT_BROWSER_CDP_PORT_RANGE_START,
end: DEFAULT_BROWSER_CDP_PORT_RANGE_END,
};
}
Messung V0.5 in Prozent C=99 H=95 G=96
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland