gpt4 book ai didi

asp.net-core - 无法使用 Jmeter 中的 Single Read Sampler 从 .net core signalr 服务器读取文本

转载 作者:行者123 更新时间:2023-12-04 15:50:14 43 4
gpt4 key购买 nike

我正在尝试对我们的 Web 应用程序进行负载测试,这是一个使用代码编写的实时游戏应用程序,使用 asp.net 核心和信号器技术。我们正在使用 Peter Doornbosch 的 JMeter WebSocket Samplers 进行 websocket 通信。但是我们无法从信号服务器获取任何消息(来自 websocket 层的 ping 帧除外)。我试图阅读的文本消息是从服务器向所有连接的客户端广播的,因此我可以看到浏览器客户端已收到该消息,但 jmeter 客户端没有收到。我嗅探了浏览器和 jmeter 客户端的流量,发现服务器消息根本没有在 jmeter 客户端收到,而是在浏览器中。所以我认为我在初始连接建立步骤中缺少一些参数或 header ,因此服务器无法检测到 jmeter 客户端,即使当时 webSocket 连接已打开并且 websocket 层 ping 已到达 jmeter 客户端。

在 Jmeter 中完成的事情:-

  1. HTTP 请求到 signalr 的服务器端点并获取 signalr connectionId 作为响应提取它并保存在 jmeter 变量中。
  2. 使用 Single Write Sampler 使用在第 1 步中获得的 connectionId 设置新的 websocket 连接,并发送一个文本框来设置 Signalr 数据协议(protocol)“{"protocol":"json"}”。(如在浏览器的开发者控制台中看到的那样复制)
  3. 使用现有连接另一个单一写入采样器发送文本调用信号器集线器功能以添加到信号器组。这里在集线器功能中有一个广播写入所有连接的客户端。
  4. 使用单读采样器从第 3 步中提到的服务器读取广播。此步骤总是导致 jmeter 中的响应超时错误。

任何人之前有使用 webSocket 作为传输的 jmeter 和 singnalr 的经验可以阐明一些问题吗?欢迎任何线索。提前致谢

最佳答案

根据提问者的要求,我的评论作为答案:

For the write step I had to send a square character at the end , I could see this in the developer console of the browser when I checked what the website is doing. To my understanding it signals the "end" of your request. Without this square character it didn't work for me.

我不知道这个方 block 字符是什么 unicode 字符,但它似乎表示信号写入结束。

我检查了 unicodes,它可能是这个:□这是 unicode 9633

关于asp.net-core - 无法使用 Jmeter 中的 Single Read Sampler 从 .net core signalr 服务器读取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54122668/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com