localsend接收端无响应,主因是接收服务未启动、防火墙拦截、设备不在同一广播域、配置错误或版本不兼容;需依次检查服务状态、放行端口53317、确认同子网、开启设备发现并升级版本、启用日志定位问题。

如果您已成功发送文件,但LocalSend接收端始终未弹出确认提示或传输界面无响应,则可能是由于设备发现失败、连接被拦截或接收服务未正常运行所致。以下是解决此问题的步骤:
一、验证接收端服务状态
LocalSend接收功能依赖后台服务持续监听指定端口(默认53317),若服务未启动或意外终止,将完全无法响应任何传入请求。
1、打开LocalSend应用,确认界面右下角状态栏显示“正在监听”或类似绿色指示标识。
2、若状态为灰色或显示“已停止”,点击界面中“启动接收”按钮手动激活服务。
3、在命令行中执行localsend --receive,强制以接收模式启动独立实例,绕过图形界面可能存在的状态同步异常。
二、检查防火墙与端口放行
Windows Defender防火墙或企业级网络防火墙常默认阻止LocalSend所需的UDP/TCP双向通信,导致接收端收不到任何数据包。
1、进入控制面板 → 系统和安全 → Windows Defender 防火墙 → 允许应用通过防火墙。
2、在列表中找到“LocalSend”,确保其在“专用”和“公用”网络类型下均已被勾选。
3、若未列出,点击“更改设置”后点击“允许其他应用”,浏览并添加LocalSend主程序(通常为localsend.exe)。
4、如仍无效,手动执行管理员权限命令行,开放默认端口:
netsh advfirewall firewall add rule name="LocalSend" dir=in action=allow protocol=TCP localport=53317
netsh advfirewall firewall add rule name="LocalSend" dir=in action=allow protocol=UDP localport=53317
三、确认设备处于同一广播域
LocalSend依赖UDP组播(224.0.0.251:5353)进行局域网设备自动发现,若设备分属不同子网或存在网络隔离策略,接收端将无法被发送端识别,自然无法触发接收流程。
1、在接收设备上运行ipconfig(Windows)或ifconfig(macOS/Linux),记录IPv4地址及子网掩码。
2、在发送设备上执行相同命令,比对二者是否属于同一子网(例如192.168.1.x/24与192.168.2.x/24即为不同子网)。
3、若确认跨子网,可尝试在发送端手动输入接收设备的IP地址进行直连传输,跳过自动发现环节。
4、检查路由器或交换机是否启用“客户端隔离”或“AP隔离”功能,如有,请临时关闭以验证是否为此原因。
四、排查软件配置与版本兼容性
接收端的发现功能可能被意外禁用,或因版本不一致导致协议握手失败,从而拒绝建立连接。
1、进入LocalSend设置页,确认“启用设备发现”选项处于开启状态。
2、检查接收端与发送端的LocalSend版本号是否一致;若差异较大(如v1.5.x与v2.0.x),请统一升级至最新稳定版。
3、在设置中关闭“仅接受来自信任设备的文件”或类似访问控制选项,排除策略拦截可能。
4、重置LocalSend配置:关闭应用,删除用户配置目录(Windows路径为%APPDATA%\LocalSend,macOS为~/Library/Application Support/LocalSend),重启后重新初始化。
五、启用日志诊断与进程监控
LocalSend内置详细日志系统,可精准定位接收失败的具体阶段(如监听失败、连接拒绝、协议解析错误等),避免盲目排查。
1、启动LocalSend时附加--log-level debug参数,例如:localsend --receive --log-level debug。
2、在发送端发起一次传输后,立即查看控制台输出或日志文件(默认位于配置目录下的logs/子文件夹)。
3、搜索关键词“listening”确认服务是否成功绑定端口;搜索“incoming connection”判断是否有连接抵达;搜索“rejected”或“timeout”定位拒绝原因。
4、使用netstat -ano | findstr :53317(Windows)或lsof -i :53317(macOS/Linux)验证端口是否真实被LocalSend进程占用,排除端口冲突。











