MCPcopy Index your code
hub / github.com/SPlayer-Dev/SPlayer / testPort

Method testPort

electron/main/services/SocketService.ts:109–135  ·  view source on GitHub ↗

* 测试 socket 端口是否可用(可以绑定) * @param port 要测试的端口 * @returns 如果端口可用返回 true,否则返回 false

(port: number)

Source from the content-addressed store, hash-verified

107 * @returns 如果端口可用返回 true,否则返回 false
108 */
109 public async testPort(port: number): Promise<boolean> {
110 return new Promise<boolean>((resolve) => {
111 const server = createServer();
112
113 server.once("error", (error: NodeJS.ErrnoException) => {
114 // 端口被占用或权限不足
115 if (error.code === "EADDRINUSE" || error.code === "EACCES") {
116 resolve(false);
117 } else {
118 resolve(false);
119 }
120 });
121
122 server.once("listening", () => {
123 // 端口可用,立即关闭测试服务器
124 server.close(() => {
125 resolve(true);
126 });
127 });
128
129 try {
130 server.listen(port, "127.0.0.1");
131 } catch {
132 resolve(false);
133 }
134 });
135 }
136
137 /**
138 * 尝试自动启动

Callers 2

startMethod · 0.95
initSocketIpcFunction · 0.80

Calls 1

closeMethod · 0.65

Tested by

no test coverage detected