Websocket 如何在没有sockjs的情况下使用gatling和spring-stomp创建性能测试?

Websocket 如何在没有sockjs的情况下使用gatling和spring-stomp创建性能测试?,websocket,gatling,stomp,sockjs,Websocket,Gatling,Stomp,Sockjs,我在使用gatling测试服务器时遇到问题。当服务器不使用sockjs时,我无法订阅和发送任何数据。我的websocket连接和断开连接工作正常(在本测试中)。我尝试编写类似这样的代码,但订阅和发送数据未发生 val httpConf = http .wsBaseUrl("ws://localhost:8080") val scn = scenario("Websocket for 1 Player") .feed(csvFeeder) .exec(ws

我在使用gatling测试服务器时遇到问题。当服务器不使用sockjs时,我无法订阅和发送任何数据。我的websocket连接和断开连接工作正常(在本测试中)。我尝试编写类似这样的代码,但订阅和发送数据未发生

val httpConf = http
.wsBaseUrl("ws://localhost:8080")

val scn = scenario("Websocket for 1 Player")
.feed(csvFeeder)
.exec(ws("Websocket connection").connect("/socket"))
.pause(1)
.exec(ws("Connect via STOMP")
  .sendText("[\"CONNECT\\naccept-version:1.1,1.0\\nheart-beat:10000,10000\\n\\n\\u0000\"]")
  .await(1 seconds)(ws.checkTextMessage("check connected message").check(regex(".*CONNECTED.*")))
)
.pause(3)
.exec(ws("Subscribe0: ADD/PLAYERS")
  .sendText("[\"SUBSCRIBE\\nid:sub-0\\ndestination:/pacman/add/players\\n\\n\\u0000\"]")
)
.exec(ws("Subscribe1: REMOVE/PLAYER")
  .sendText("[\"SUBSCRIBE\\nid:sub-1\\ndestination:/pacman/remove/player\\n\\n\\u0000\"]")
)
.exec(ws("SEND JOIN/GAME")
  .sendText("[\"SEND\\ndestination:/app/join/game\\ncontent-length:19\\n\\n" +
    "{\\\"nickname\\\":\\\"" +
    "${nickname}" +
    "\\\"}" +
    "\\u0000\"]")
)
.pause(3)
.exec(ws("Close WS").close)

setUp(scn.inject(atOnceUsers(1)).protocols(httpConf))
服务器代码:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration implements WebSocketMessageBrokerConfigurer {

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {

    registry.addEndpoint("/socket")
            .setHandshakeHandler(new WebsocketCustomHandshakeHandler())
            .setAllowedOrigins("*");
//                .withSockJS()
}

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
    registry.setApplicationDestinationPrefixes("/app")
            .enableSimpleBroker("/pacman", "/queue/");
}
@Override
public boolean configureMessageConverters(List<MessageConverter> messageConverters) {
    messageConverters.add(new ByteArrayMessageConverter());
    return false;
}
}
@配置
@EnableWebSocketMessageBroker
公共类WebSocketConfiguration实现WebSocketMessageBrokerConfiguration{
@凌驾
公共无效注册表TompendPoints(StompEndpointRegistry注册表){
registry.addEndpoint(“/socket”)
.setHandshakeHandler(新WebsocketCustomHandshakeHandler())
.setAllowedOrigins(“*”);
//.withSockJS()
}
@凌驾
public void配置MessageBroker(MessageBrokerRegistry注册表){
registry.setApplicationDestinationPrefixes(“/app”)
.enableSimpleBroker(“/pacman”,“/queue/”);
}
@凌驾
公共布尔配置messageConverters(列出messageConverters){
添加(新的ByteArrayMessageConverter());
返回false;
}
}