feat: add persistent desktop assistant workspace
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
parent
698a15ad14
commit
6ef1795b81
@@ -0,0 +1,23 @@
|
||||
import { createServer } from 'node:net'
|
||||
|
||||
export async function getAvailableLoopbackPort(): Promise<number> {
|
||||
return new Promise<number>((resolvePort, reject) => {
|
||||
const server = createServer()
|
||||
server.unref()
|
||||
server.once('error', reject)
|
||||
server.listen(0, '127.0.0.1', () => {
|
||||
const address = server.address()
|
||||
const port =
|
||||
address && typeof address === 'object' ? address.port : 0
|
||||
server.close((error) => {
|
||||
if (error) {
|
||||
reject(error)
|
||||
} else if (port > 0) {
|
||||
resolvePort(port)
|
||||
} else {
|
||||
reject(new Error('无法分配本机端口'))
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user