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

使用JMeter测试WebRTC服务器遇WSS连接400错误,求解决方案

JMeter测试Socket.io WebSocket返回400错误的解决步骤
  • 移除手动添加的Connection和Upgrade请求头
    JMeter的WebSocket插件会自动生成WebSocket握手所需的Connection=Upgrade和Upgrade=websocket头,手动添加这两个头会被插件忽略(日志已明确提示),直接删掉自定义的这两个头即可。

  • 补全Socket.io的前置连接流程
    Socket.io并非标准WebSocket协议,它需要先通过HTTP轮询获取会话标识(sid),再建立WebSocket连接:

    1. 添加HTTP请求采样器,访问https://myserver:3004/socket.io/?userId=K&EIO=3&transport=polling,从响应中提取sid参数
    2. 将提取到的sid拼接到WebSocket连接URL中,最终URL格式应为:wss://myserver:3004/socket.io/?userId=K&EIO=3&transport=websocket&sid=【你的sid值】
  • 更新WebSocket插件版本
    确保使用最新版的JMeter WebSocket采样器插件(如Peter Doornbosch开发的版本),旧版本对Socket.io的兼容性较差,可能导致连接失败。

  • 调整Ping/Pong采样器的执行时机
    日志中的Ping/Pong错误是因为连接未成功建立就触发了该采样器,需将Ping/Pong采样器放在WebSocketOpenConnection采样器之后,可添加逻辑控制器(如While Controller)确保连接成功后再执行Ping/Pong操作。

  • 对齐浏览器的请求配置
    用Chrome开发者工具(F12)抓取浏览器建立Socket.io连接的完整请求,对比JMeter的请求参数、Cookie、请求头等,确保两者完全一致,比如是否需要传递特定Cookie,EIO版本(你使用的是3)是否与服务器要求匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:30:52