Skip to content

Latest commit

 

History

History
122 lines (100 loc) · 3.22 KB

README.zh-CN.md

File metadata and controls

122 lines (100 loc) · 3.22 KB

Language : 🇺🇸 English | 🇨🇳 简体中文

port-selector

NPM Version NPM Downloads Bundle Size

GitHub Actions CI License

Overview

port-selector 是一个底层由 Rust 实现的跨平台 NodeJS 库, 主要提供端口可用性检查和根据条件筛选端口的功能.

Getting Started

Prerequisites

  • Node.js (>= 10.0.0 required, LTS preferred)

Installation

npm install port-selector
# or
yarn add port-selector
# or
pnpm i port-selector
import {
    Selector,
    isFree,
    isFreeTcp,
    isFreeUdp,
    randomFreePort,
    randomFreeTcpPort,
    randomFreeUdpPort,
    selectFreePort,
    selectFromGivenPort
} from 'port-selector'

Goods

isFree · isFreeTcp · isFreeUdp · randomFreePort · randomFreeTcpPort · randomFreeUdpPort · selectFromGivenPort · selectFreePort

Documentation

isFree

检查端口在 tcp && udp 上是否未使用

function isFree(port: number): boolean

isFreeTcp

检查端口在 tcp 上是否未使用

function isFreeTcp(port: number): boolean

isFreeUdp

检查端口在 udp 上是否未使用

function isFreeUdp(port: number): boolean

randomFreePort

由系统随机分配可用 tcp && udp 端口

function randomFreePort(): number

randomFreeTcpPort

由系统随机分配可用 tcp 端口

function randomFreeTcpPort(): number

randomFreeUdpPort

由系统随机分配可用 udp 端口

function randomFreeUdpPort(): number

selectFromGivenPort

starterPort 开始检查, 返回第一个可用端口

如果 starterPort 可用, 则返回; 否则 starterPort += 1, 直到端口可用

function selectFromGivenPort(starterPort: number): number

selectFreePort

根据 Selector 参数约束获取一个满足条件的端口

function selectFreePort(selector?: Selector): number
export type Selector = {
    // 是否检查端口在 tcp 上可用, 默认值 true
    checkTcp?: boolean
    // 是否检查端口在 udp 上可用, 默认值 true
    checkUdp?: boolean
    // 设置生成的端口范围, 起始值
    // 默认值: 0
    portFrom?: number
    // 设置生成的端口范围, 结束值
    // 默认值: 65535
    portTo?: number
    // 最大随机次数, 默认值 100
    // 如果在最大随机次数的循环之内都没有找到可用端口号, 则返回 None
    maxRandomTimes?: number
}

Thanks

napi-rs