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

如何在Postman中测试Laravel Echo Server WebSocket?配置后收不到消息

在Postman中测试Laravel Echo Server WebSocket的排查方案
  • 验证Token有效性
    先用curl或Postman的HTTP请求测试Token能否通过Laravel鉴权,比如请求一个需要授权的API端点,确认返回200状态码。确保Token是未过期的有效用户令牌,无效令牌会导致连接后被静默拒绝。

  • 修正Socket.IO连接参数

    • 确认Postman的Socket.IO客户端版本为2.x(Laravel Echo Server仅兼容2.x版本,3+版本会出现兼容性问题)。
    • 在Postman的Socket.IO连接设置中添加query参数:token={你的令牌},这里不需要加Bearer前缀——Laravel Echo Server默认读取token查询参数处理认证,而非请求头的Authorization字段。
    • 检查URL格式,确保为wss://echo-dev.***.de,不要额外添加/socket.io后缀(Postman会自动处理路径)。
  • 查看Laravel Echo Server日志
    在终端执行laravel-echo-server start启动服务,观察连接日志:

    • 出现Client authenticated表示认证通过;
    • 出现Client unauthenticated则检查Token正确性或Echo Server的认证配置;
    • 无连接日志说明Postman请求未到达服务器,排查网络、防火墙或域名解析问题。
  • 规范订阅频道的事件格式
    连接成功后,发送符合Laravel Echo规范的subscribe事件:

    {
      "event": "subscribe",
      "data": {
        "channel": "private-你的频道名", // 私有频道需加private-前缀,公开频道直接写名称
        "auth": {
          "headers": {
            "Authorization": "Bearer {你的令牌}"
          }
        }
      }
    }
    

    私有/ Presence频道需确保Laravel的BroadcastServiceProvider已启用,且routes/channels.php中定义了对应频道的授权规则。

  • 手动触发测试广播
    在Laravel项目中触发一条广播事件验证,比如通过Artisan命令或测试接口执行:

    event(new \App\Events\你的自定义事件类());
    

    确保事件类实现ShouldBroadcast接口,并指定了正确的目标频道。

  • 检查Postman监听设置
    在Postman的Socket.IO标签页中,勾选Listen to all events,或手动添加需要监听的事件名称(通常为App\\Events\\你的事件类的字符串形式)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:05:15