You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode端口转发保留死Socket问题咨询

VSCode SSH端口转发残留死Socket导致WebSocket连接异常问题

环境与配置

  • Web应用通过WebSocket连接Python服务器,连接失败时触发错误回调,调用close()并将实例置为null,随后每500毫秒重试一次
  • Python服务器基于Websockets异步库封装了同步架构的服务器实现
  • 开发环境:服务器运行在Ubuntu虚拟机,Web应用也存储在该虚拟机内;通过VSCode SSH插件配合LiveServer插件部署Web应用,LiveServer自动转发5500端口到Windows本地,手动转发8765端口用于WebSocket通信

问题描述

整体运行正常,但**先启动Web应用(端口转发已启用但服务器未启动)**时会出现异常:

  1. Web应用连接失败后持续重试,浏览器端已关闭的Socket似乎在VSCode端口转发中被保留
  2. 后续启动服务器后,Web应用仍无法建立有效连接,必须重启端口转发(有时需重启VSCode)才能恢复
  3. 重启端口转发时,服务器会收到大量已关闭的连接请求,日志如下:
2023-02-22 21:38:10.281 [INFO] <WebsocketClientHandler> Client disconnected (ID=54a78428e6444e2f8f0db88773f5e544). 0 clients remainings
2023-02-22 21:38:10.282 [INFO] <WebsocketClientHandler> New client connected (ID=d2a266bf93f84fa2b6b70523e15543e0). 1 clients total
2023-02-22 21:38:10.294 [INFO] <WebsocketClientHandler> Client disconnected (ID=d2a266bf93f84fa2b6b70523e15543e0). 0 clients remainings
2023-02-22 21:38:10.295 [INFO] <WebsocketClientHandler> New client connected (ID=7687380cb1de4d13b2460f904dfaae2f). 1 clients total
2023-02-22 21:38:10.307 [INFO] <WebsocketClientHandler> Client disconnected (ID=7687380cb1de4d13b2460f904dfaae2f). 0 clients remainings
2023-02-22 21:38:10.307 [INFO] <WebsocketClientHandler> New client connected (ID=b8cb24da688b44d0a3a3f4c518b00732). 1 clients total
2023-02-22 21:38:10.318 [INFO] <WebsocketClientHandler> Client disconnected (ID=b8cb24da688b44d0a3a3f4c518b00732). 0 clients remainings
2023-02-22 21:38:10.319 [INFO] <WebsocketClientHandler> New client connected (ID=8d929c0b816c4888a846a1af24e545cd). 1 clients total
2023-02-22 21:38:10.330 [INFO] <WebsocketClientHandler> Client disconnected (ID=8d929c0b816c4888a846a1af24e545cd). 0 clients remainings
2023-02-22 21:38:10.330 [INFO] <WebsocketClientHandler> New client connected (ID=f0d99dbeb5cd44619f3953fc54e42a1f). 1 clients total
2023-02-22 21:38:10.343 [INFO] <WebsocketClientHandler> Client disconnected (ID=f0d99dbeb5cd44619f3953fc54e42a1f). 0 clients remainings
2023-02-22 21:38:10.346 [INFO] <WebsocketClientHandler> New client connected (ID=99265e71358c4a58bafb1b18c320970e). 1 clients total
2023-02-22 21:38:10.357 [INFO] <WebsocketClientHandler> Client disconnected (ID=99265e71358c4a58bafb1b18c320970e). 0 clients remainings
2023-02-22 21:38:10.358 [INFO] <WebsocketClientHandler> New client connected (ID=671bffa2d5164b0599006f5fc8ef7766). 1 clients total
2023-02-22 21:38:10.369 [INFO] <WebsocketClientHandler> Client disconnected (ID=671bffa2d5164b0599006f5fc8ef7766). 0 clients remainings

当前临时解决方案

必须严格按照端口转发→服务器→Web应用的顺序启动;若出现死Socket残留,需重启端口转发(或VSCode)清除。本地开发时无此问题。

疑问

这种情况是操作流程有误,还是VSCode端口转发存在缺陷?


内容的提问来源于stack exchange,提问作者user2302957

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:09:26