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

Laravel+Soketi WebSocket连接意外断开(4201错误)求助

解决Soketi连接2分钟断开及重连订阅恢复问题

一、调整Soketi配置,延长连接时长

修改Soketi配置文件,添加心跳与超时参数,避免服务器主动断开连接:

{
    "debug": true,
    "port": 6001,
    "socketOptions.pingInterval": 30000, // 每30秒发送一次心跳包
    "socketOptions.pingTimeout": 60000, // 60秒未收到心跳则判定连接断开
    "connectionTimeout": 86400000, // 设置连接超时为24小时(毫秒)
    "appManager.array.apps": [
        {
            "id": "SLMT",
            "key": "1229272",
            "secret": "sLq2dAswE&9q",
            "webhooks": [
                {
                    "url": "",
                    "event_types": ["channel_occupied"]
                }
            ]
        }
    ]
}

修改后重启Soketi服务。

二、同步Laravel广播配置,匹配心跳设置

在config/broadcasting.php的Pusher配置中,添加客户端心跳与超时参数,确保客户端与Soketi的心跳机制同步:

'pusher' => [
    'driver' => 'pusher',
    'key' => env('PUSHER_APP_KEY'),
    'secret' => env('PUSHER_APP_SECRET'),
    'app_id' => env('PUSHER_APP_ID'),
    'options' => [
        'host' => env('PUSHER_HOST'),
        'port' => env('PUSHER_PORT'),
        'scheme' => env('PUSHER_SCHEME', 'http'),
        'cluster' => env('PUSHER_APP_CLUSTER'),
        'useTLS' => env('PUSHER_SCHEME') === 'https',
        'heartbeat_interval' => 30, // 与Soketi的pingInterval对应,单位秒
        'timeout' => 60, // 请求超时时间,单位秒
        'keepAlive' => true // 保持长连接
    ],
],

执行配置缓存刷新:

php artisan config:cache

三、解决重连后订阅频道的问题

由于API使用Sanctum鉴权,私有/ Presence频道的订阅依赖有效鉴权凭证,Postman自动重连不会自动执行鉴权与订阅流程,需手动处理:

  • 重连成功后,重新向Laravel的广播鉴权端点(默认/broadcasting/auth)发送请求,携带Authorization: Bearer {token}请求头,获取频道授权。
  • 使用授权结果重新订阅目标频道。

若为实际客户端代码,需封装重连逻辑:

  1. 监听WebSocket的disconnected事件,触发重连。
  2. 重连成功后,重新获取用户的Sanctum token,发起鉴权请求,再重新订阅所有之前的频道。

四、排查环境层面的连接限制

Windows环境下检查以下设置:

  • 防火墙是否拦截Soketi 6001端口的长时间连接,可临时关闭防火墙测试。
  • 查看系统TCP连接超时设置:执行netsh int tcp show global,若网络设备提前断开连接,可调整KeepAliveInterval等参数。

五、查看Soketi日志定位问题

已开启Soketi的debug: true,启动服务时会输出详细日志,连接断开时查看日志中的具体错误信息(如心跳超时、鉴权失败等),进一步精准排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:50:38