Skip to content

Commit 3f2a0e1

Browse files
committed
fix: 修复 web 代理服务没了的情况
1 parent 52f741e commit 3f2a0e1

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

core/web.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -231,14 +231,16 @@ async def ssl_handle(reader: asyncio.StreamReader, writer: asyncio.StreamWriter)
231231
writer.close()
232232

233233
async def _check_server(ip: str, port: int):
234+
res = True
234235
try:
235236
r, w = await asyncio.wait_for(asyncio.open_connection(ip, port), 5)
236237
w.close()
237238
await asyncio.wait_for(w.wait_closed(), 10)
238-
return True
239+
res = True
239240
except:
240241
logger.ttraceback("web.traceback.check_server", port=port)
241-
return False
242+
res = False
243+
return res
242244

243245
async def check_server():
244246
global site, public_server, private_ssl_server
@@ -293,7 +295,10 @@ async def start_public_server():
293295
global public_server
294296
if public_server is not None:
295297
public_server.close()
296-
await public_server.wait_closed()
298+
try:
299+
await asyncio.wait_for(public_server.wait_closed(), 10)
300+
except:
301+
...
297302
public_server = await asyncio.start_server(
298303
public_handle, host='0.0.0.0',port=config.const.public_port
299304
)
@@ -327,7 +332,10 @@ async def _start_ssl_server():
327332
return
328333
if private_ssl_server is not None and private_ssl_server.is_serving():
329334
private_ssl_server.close()
330-
await private_ssl_server.wait_closed()
335+
try:
336+
await asyncio.wait_for(private_ssl_server.wait_closed(), 10)
337+
except:
338+
...
331339
port = await get_free_port()
332340
private_ssl_server = await asyncio.start_server(
333341
ssl_handle,

0 commit comments

Comments
 (0)