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

JMeter中Websocket关闭失败:unsuccessful close错误求助

JMeter WebSocket Close Sampler 执行失败的解决思路

你的问题是调用Close Sampler时收到了Text帧而非Close帧,导致关闭失败,可能的原因和解决办法如下:

  • 检查Close Sampler配置
    确保已勾选Send close frame,并设置合法的关闭码(比如标准的1000表示正常关闭)和合理的关闭原因,避免配置错误导致服务器无法正确响应Close请求。

  • 确认关闭时机
    Close Sampler必须在所有Write、Read Sampler执行完成后再运行。如果服务器还在发送Text消息时就发起关闭请求,就会出现先收到Text帧的情况。可以用Transaction Controller把读写操作和关闭操作按顺序包裹,或者用Flow Control Action控制器确保执行顺序正确。

  • 排查服务器端WebSocket实现
    部分服务器收到客户端的Close帧后,不会返回Close帧而是直接断开连接,这种情况下JMeter的Close Sampler会因为未收到预期的Close帧报错。此时可以:

    • 改用WebSocket Close Connection Sampler(如果你的JMeter插件版本支持),它不需要等待服务器返回Close帧,直接断开连接。
    • 忽略Close Sampler的失败结果,在测试计划中通过其他方式验证连接已断开。
    • 联系后端开发调整服务器的WebSocket关闭逻辑,使其符合RFC6455协议规范。
  • 查看JMeter日志定位细节
    打开jmeter.log文件,查找WebSocket相关的日志条目,确认Close请求是否正确发送,以及服务器响应的具体内容,这能帮你更精准定位问题。

  • 手动模拟验证服务器行为
    用浏览器开发者工具的Network面板,手动建立WebSocket连接并关闭,观察服务器是否返回Close帧。如果服务器本身就不返回Close帧,那问题出在服务器端,需要调整服务器配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 08:34:55