Skip to content

Latest commit

 

History

History
106 lines (53 loc) · 3.36 KB

File metadata and controls

106 lines (53 loc) · 3.36 KB

wsbench 发包和收包配置指令

wsbench 所发送的网络请求,和收到数据包后进行何种动作,皆通过配置文件指定。

在压测的不同阶段,收、发包配置分别支持以下配置:

urls

urls 为初始化游戏连接时需要按顺序发送的请求数组。每个请求的配置项为(*为必填配置):

  • req *

    发包请求的url地址或内容,必填。${} 可指定变量。

  • method

    请求方式,支持以下请求方式:

    1. get

      HTTP GET 方式发送该请求,此时 req 为除去域名端口后的 http url。

    2. post

      HTTP POST 方式发送请求,post 时,必须通过 payload 配置指定 post 内容。

    3. ws init *

      建立 websocket 连接,必填,且urls下只能有一个该配置项。

    4. ws

      默认 method,往已有 websocket 连接上发送消息。必须在 ws init 配置项之后才能出现。

  • resp

    timeout 秒数内,服务器必须的返回内容,不指定说明服务器可以对此次请求不作响应。

    resp 会被 wsbench 作为正则表达式解析,与收到的包进行正则匹配,( ) 内的内容可以用 save_var 指令保存,以作后续使用。

  • save_var

    将 resp 正则组匹配的结果保存到该房间内,该房间内本轮游戏的后续请求,都能使用 ${} 使用。

  • payload

    method 为 post 时,需要指定的请求内容。

room.actions

room.actions 为创建及加入房间时需要按顺序往 websocket 连接发送的请求数组。每个请求的配置项为(*为必填配置):

  • req *

    发包请求的内容,必填。${} 可指定变量。

  • resp

    timeout 秒数内,服务器必须的返回内容,不指定说明服务器可以对此次请求不作响应。

    resp 会被 wsbench 作为正则表达式解析,与收到的包进行正则匹配,( ) 内的内容可以用 save_var指令保存,以作后续使用。

  • save_var

    将 resp 正则组匹配的结果保存到该房间内,该房间内本轮游戏的后续请求,都能使用 ${} 使用。

callbacks

callbacks 为游戏过程中,wsbench 可能收到的 websocket 服务器推送过来的消息,以及针对这些消息需做的处理。

每个请求的配置项为(*为必填配置):

  • on *

    收到消息的内容正则。若收到的包与此正则表达式匹配,则执行该配置项中指定的后续操作。 ( ) 内的内容可以用 save_var 指令保存,以作后续使用。

  • count

    该配置消息成功匹配几次以后,才执行该配置项中指定的后续操作。默认为 1。

  • repeat

    为 true 时,该用户在本轮游戏中此消息的后续操作可以被重复执行。默认为 false。

  • req

    该配置消息成功匹配并满足 count 配置指定值后,给 websocket 服务器发送请求的内容。

  • delay

    该配置消息成功匹配并满足 count 配置指定值后,等待指定秒数后再触发 req 操作。默认为 0。

  • save_var

    将 on 正则组匹配的结果保存到该用户,该用户本轮游戏的后续请求,都能使用 ${} 使用。

    注意,该动作不受 count 配置影响,每次成功匹配都会执行。

  • over

    该配置消息成功匹配并满足 count 配置指定值后,该用户的本轮游戏结束。

    该房间内的所有游戏都结束本轮游戏后,wsbench 负责为该房间内用户重新建立连接并创建房间。