JMeter不';在手动停止线程之前,不能通过JSON RPC over TCP协议从服务器获得应答

JMeter不';在手动停止线程之前,不能通过JSON RPC over TCP协议从服务器获得应答,json,tcp,jmeter,json-rpc,Json,Tcp,Jmeter,Json Rpc,我测试一个服务器,它通过TCP响应JSON RPC请求。 我使用的是JMeter,它是最新的可用版本2.8 r1393162。 我的测试计划有一个TCP采样器,带有JSON RPC 1.0版请求{“方法”:“registate”,“params”:[1,1],“id”:100} 当我启动它时,JMeter在我停止线程之前不会给我答案。服务器接受了我的请求(请参见他的日志)。 当我停止它时,我在视图结果树中看到一个答案 这是取样器中的错误还是我的测试中的错误? 这是测试服务器中的一个bug吗?在评

我测试一个服务器,它通过TCP响应JSON RPC请求。
我使用的是JMeter,它是最新的可用版本2.8 r1393162。
我的测试计划有一个TCP采样器,带有JSON RPC 1.0版请求
{“方法”:“registate”,“params”:[1,1],“id”:100}

当我启动它时,JMeter在我停止线程之前不会给我答案。服务器接受了我的请求(请参见他的日志)。
当我停止它时,我在视图结果树中看到一个答案

这是取样器中的错误还是我的测试中的错误?

这是测试服务器中的一个bug吗?

在评论之后,当您准备测试时,jMeter代理是非常宝贵的

所以,首先使用代理在浏览器中保存您的操作(当您单击时,您将看到采样器和其他组件出现,您将知道发送的确切内容)

以下是有关如何使用它的完整说明:

要启用的一个重要选项是jMeter代理的
将每个组放入一个新的事务控制器
属性中。因为在浏览器中单击一次通常会导致在后台发送多个请求(例如,每个资源,如页面、js、图像,都是单独的get请求)。使用此选项,jMeter将每个用户操作的所有请求分组到单独的事务控制器中。您将看到您的测试和监听器(图、表)将变得多么干净

以下是几个额外的提示:

该请求采样器是使用jmeter代理保存的还是您手动创建的?你确定这就是你的应用程序发送的吗?手动。我不知道代理,它允许记录TCP请求。它存在吗?只知道HTTP代理。那么,当您尝试使用jMeter代理保存浏览器交互时,保存了什么?我不使用HTTP,但使用TCPOK上的JSON RPC,您使用的是JSON RPC,但我假设您使用HTTP作为传输层。所以您使用的是TCP套接字流?例如,AFAIK GWT使用HTTP作为其传输层,我使用jMeter成功地对其进行了测试。您可以尝试使用代理保存,并查看jMeter是如何看待它的。