客户端启动时提示 address already in use、端口占用或绑定失败,可能发生在本机监听阶段。此时代理内核甚至还没有进入正常转发流程,反复更换机场节点通常无法解决问题。先确定冲突位置,再处理真正占用资源的程序。

先辨认报错中的地址与端口

本地 HTTP、SOCKS 或混合代理端口,是应用将请求交给客户端的入口;远端节点端口则用于连接服务器。这两者承担不同职责。还要留意控制接口与 DNS 监听等其他端口,不能看到一个数字就认定它是浏览器使用的代理端口。

记录报错时间、监听地址、端口号和协议类型。相同数字出现在 TCP 与 UDP 时,也不能简单视为同一项占用。客户端日志所指向的具体监听对象,是后续判断的起点。

先查重复运行,而不是立刻结束进程

检查是否打开了两份相同客户端、便携版与安装版是否同时自启,或其他代理工具仍在后台运行。关闭窗口不一定等于程序已经退出,可以从应用自身退出入口和系统进程列表核对实际状态。

如果已确认是自己重复启动的实例,先正常退出不需要的那一份,再重新验证。不要依据一个端口号批量终止进程,更不要随意结束系统服务;占用程序也可能承担正在使用的工作任务。

使用系统信息核对监听者

Windows 可通过网络连接信息查看本地端口、连接状态与拥有该连接的进程编号。把编号与进程名称、文件位置一起核对,避免只凭一个相似名称作判断。不同系统有各自的网络检查工具,使用与当前平台对应的方法即可。

只读检查的目的,是弄清“谁在监听”,而不是自动关闭它。如果没有发现符合条件的 TCP 监听,还应核对原报错是否涉及 UDP、不同绑定地址或其他系统限制,不能直接宣布端口一定空闲。

在退出重复实例和修改端口之间选择

  1. 如果是不需要的重复客户端,正常退出后检查启动结果。
  2. 如果两个程序都有用途,先确认各自功能,再为代理入口选择未占用的端口。
  3. 同步检查手动配置了代理的应用,使其地址与新端口一致。
  4. 重新启动相关连接并观察日志,确认不再出现同一绑定错误。

改端口后客户端能够启动,不代表浏览器或其他应用已经连接到新入口。尤其是应用内部手动填写的端口,不一定会跟随系统代理自动变化。不要把绑定地址随意改成所有网卡来碰运气,这会改变可访问范围。

确认本机入口和目标任务都恢复

先验证内核正常启动,再检查应用请求是否进入客户端,最后访问原本需要使用的目标。保留原端口与修改记录,方便发现不兼容时恢复。若绑定问题已消失却仍无法访问,再进入节点与网络排查,不要把两个故障混成一个。

可配合客户端日志指南定位阶段;关于应用如何接入代理,参阅系统代理与 TUN 的区别。