错误信息
Signal Lab 在出错时可能显示的所有信息,按代码排列:运行报告、命令行和 API 给出的就是这个代码。花括号中的值会替换为出错的具体内容。
api
| 代码 | 信息 |
|---|---|
api.not_found | 服务器没有此地址——界面与服务器的版本不一致 |
api.run_invalid | 无法读取运行请求 |
api.run_source | 只需指定一次实验:文档或模板 |
api.template_unknown | 没有内置模板 {name} |
auth
| 代码 | 信息 |
|---|---|
auth.host | 此服务器不响应该地址——请使用它自己的名称打开 |
auth.origin | 此请求来自其他站点,已被拒绝 |
auth.required | 请先登录此服务器 |
broadcast
| 代码 | 信息 |
|---|---|
broadcast.cidr_invalid | {value} 不是 CIDR 地址块——请使用 a.b.c.d/nn,例如 192.168.1.0/24 |
broadcast.interface_invalid | {value} 不是 IPv4 地址——请输入接口的地址,或留空表示任意接口 |
broadcast.ipv6 | IPv6 没有广播——请改用组播 |
broadcast.join_failed | 无法加入组播组 {group} |
broadcast.not_broadcast | {target} 不是广播地址——请使用 255.255.255.255:port 或 x.x.x.255:port |
broadcast.not_multicast | {target} 不是组播组——请使用 224.0.0.0 到 239.255.255.255 之间的地址 |
broadcast.port_shared | {target} 已被占用——请打开“共享端口”以便与其一同监听 |
broadcast.prefix_invalid | /{value} 不是前缀长度——请使用 /0 到 /32 |
broadcast.rate_invalid | 信标速率必须大于 0 |
broadcast.rate_limit | {targets} 个目标共计 {pps} 包/s,超过了 {max} pps 的上限——请降低速率或缩小目标范围 |
broadcast.reply_missing | 没有可发送的回复——请设置一个,或关闭“应答探测” |
broadcast.sweep_port | 请设置要遍历的端口 |
broadcast.sweep_too_large | /{prefix} 涵盖 {count} 个地址,而一次遍历最多覆盖 {max} 台主机——请缩小到 /{limit} 或更小的地址块 |
broadcast.target_required | 请至少输入一个目标 |
check
| 代码 | 信息 |
|---|---|
check.body_missing | 响应中不包含 {text} |
check.body_truncated | 响应({bytes} B)超过保留的 256 KiB,因此无法检查该文本 |
check.header_mismatch | 标头 {name} 为 {actual},其中不包含 {text} |
check.header_missing | 响应中没有 {name} 标头 |
check.latency_failed | 响应耗时 {actual} ms,超过了 {limit} ms 的上限 |
check.no_response | 此步骤之前没有 HTTP 响应——请在每条路径上于它之前放置一个 HTTP 请求 |
check.status_failed | 预期 HTTP {expected},实际收到 {actual} |
check.value_failed | 预期:{value} {op} {expected} |
cli
| 代码 | 信息 |
|---|---|
cli.bind_one | --bind 只能设置一个模拟器的地址;但给出了多个 |
cli.emulate_nothing | 没有可模拟的内容:文件中不包含模拟器 |
cli.emulator_unknown | {name} 不是文件,且 {path} 中没有该 ID 或名称的模拟器 |
cli.file_unknown | {name} 既不是文件,也不是内置模板——signallab templates 会列出它们 |
cli.header_invalid | {value} 不是标头——请使用 'Name: value' |
cli.library_missing | {path} 处没有库——应用在首次启动时会创建它;也可用 --library 指定其他库 |
cli.matrix_conflict | {name} 被设置了两次——通过 --param 和矩阵,或通过 --matrix 和文件;请只设置一次 |
cli.matrix_file_invalid | {path} 不是矩阵:应为 NAME: [values] 形式的对象,或由 NAME: value 形式的对象组成的列表 |
cli.matrix_invalid | {value} 不是 NAME=V1,V2 |
cli.matrix_too_large | {n} 种组合——一条命令最多 {max} 种 |
cli.matrix_too_wide | {axes} 个维度相乘的结果超出可计数的范围——一条命令最多 {max} 种组合 |
cli.matrix_unknown | --matrix {name}:给定的实验中都没有该名称的参数 |
cli.matrix_value_invalid | {name}:矩阵值应为文本、数字或 true/false |
cli.osc_arg_invalid | {value} 不是 OSC 参数——请使用 i:3、f:0.5、d:1.5、h:64、s:text、b:hex、T、F 或 N |
cli.param_invalid | {value} 不是 NAME=VALUE |
cli.server_ended | 来自 {url} 的应答在运行结束前就中断了 |
cli.server_invalid | {url} 不是服务器地址——请使用类似 http://127.0.0.1:1430 的地址 |
cli.server_reply | {url} 的应答不是来自 Signal Lab(HTTP {status}) |
cli.server_unreachable | 无法连接到 {url} 上的服务器 |
cli.signal_ambiguous | 有多个信号名为 {name}——请用 ID 指定其中一个:{ids} |
cli.signal_unknown | {path} 中没有信号 {name} |
cli.status_unexpected | 响应为 {actual},而不是 {expected} |
cli.token_empty | 令牌文件 {path} 为空 |
command
| 代码 | 信息 |
|---|---|
command.args_invalid | 引擎无法读取 {name} 的参数——界面与引擎的版本不一致 |
command.json_required | 服务器只接受 JSON 格式的命令 |
command.reply_invalid | 引擎无法编码其应答 |
command.unknown | 引擎没有命令 {name}——界面比引擎新 |
compare
| 代码 | 信息 |
|---|---|
compare.not_numbers | 此比较要求 {value} 和 {expected} 都是数字 |
details
| 代码 | 信息 |
|---|---|
details | 技术细节 |
doc
| 代码 | 信息 |
|---|---|
doc.connection_duplicate | 连线 {from} → {to} 出现了两次 |
doc.connection_invalid | 连线 {from} → {to} 指向不存在的节点或指回自身 |
doc.name_required | 请为实验命名 |
doc.node_count | 一个实验包含 1–{max} 个节点 |
doc.node_id_duplicate | 有两个节点共用 ID {id} |
doc.node_id_empty | 有节点的 ID 为空 |
doc.port_invalid | 未知输出 {port} |
doc.position_invalid | 节点的位置无效 |
doc.start_end_count | 实验必须恰好有一个“开始”和一个“结束” |
doc.version_unsupported | 不支持文件版本 {version};此版本的 Signal Lab 读取版本 {supported} |
emulator
| 代码 | 信息 |
|---|---|
emulator.accept_failed | 在 {target} 上接受连接时因错误而停止 |
emulator.arg_value | {value} 不是 {type} 类型的值 |
emulator.args_too_many | 最多 {max} 个参数 |
emulator.bind_taken | {target} 已被此实验中的另一个模拟器({other})占用 |
emulator.body_failed | 无法读取请求正文 |
emulator.body_too_large | 请求正文超过 {max} KB |
emulator.busy | 等待中的回复超过 {max} 条——此回复已被丢弃 |
emulator.conditions_too_many | 最多 {max} 个条件 |
emulator.failed | 模拟器意外停止 |
emulator.header_value_invalid | 不是有效的标头值——不能包含换行符 |
emulator.headers_too_many | 最多 {max} 个标头 |
emulator.mqtt_client_id | 已拒绝一个没有 ID 却要求保留会话的客户端 |
emulator.mqtt_login | 已拒绝 {client}:用户名或密码错误 |
emulator.mqtt_password_alone | MQTT 3.1.1 无法在没有用户名的情况下携带密码,因此任何客户端都无法连接:请同时设置用户名 |
emulator.mqtt_protocol | 已拒绝使用 {protocol} 级别 {level} 的客户端:此代理使用 MQTT 3.1.1(级别 4) |
emulator.name_unknown | 未知名称 {{{name}}}——回复只能读取 {{request…}} 和参数 |
emulator.node_unknown | 此实验中没有模拟器 {id} |
emulator.not_in_run | 模拟器 {id} 不属于本次运行 |
emulator.not_running | 模拟器 #{id} 未在运行 |
emulator.params_only | 此处只能使用文本和参数:它在模拟器启动时、任何内容到达之前就已确定 |
emulator.path_param | {value} 不是路径段名称——请使用由字母、数字和 _ 组成的 :name |
emulator.path_rest | * 只能作为完整的最后一段,如 /files/* |
emulator.path_slash | 路径以 / 开头 |
emulator.response_required | 路由至少需要一个响应 |
emulator.responses_too_many | 最多 {max} 个响应 |
emulator.rules_too_many | 最多 {max} 条规则 |
emulator.secret_unsupported | 模拟器无法读取机密 |
emulator.weights_zero | 至少需要一个响应的权重大于 0 |
emulators
| 代码 | 信息 |
|---|---|
emulators.encode | 无法将模拟器库写为 JSON |
emulators.json_invalid | {path} 不是有效的模拟器文件:第 {line} 行第 {column} 列有 JSON 错误——请修复该文件或将其移除 |
extract
| 代码 | 信息 |
|---|---|
extract.header_missing | 响应中没有 {name} 标头 |
extract.json_missing | 响应中没有 {path} |
extract.no_match | /{pattern}/ 与响应正文不匹配 |
extract.not_json | 响应正文不是 JSON |
extract.truncated | 响应({bytes} B)超过保留的 256 KiB,因此无法可靠地读取该值 |
feedback
| 代码 | 信息 |
|---|---|
feedback.disabled | 暂不接收反馈——请发送邮件至 info@proanima.net |
feedback.email_invalid | 这不是有效的电子邮件地址 |
feedback.failed | 反馈服务返回了 HTTP {status} |
feedback.file_too_large | {name} 超过 {max_mb} MB |
feedback.file_type | {name}:截图必须是 PNG、JPEG、WebP 或 GIF,日志必须是文本 |
feedback.invalid | 反馈服务不接受此表单 |
feedback.message_required | 请先填写留言 |
feedback.message_too_long | 留言超过 {max} 个字符 |
feedback.rate_limited | 此地址发送的消息暂时过多——请在 {retry_after_s} s 后重试 |
feedback.send_failed | 反馈服务无法将消息转交给邮件服务器;请稍后重试(编号 {id}) |
feedback.too_large | 所有内容总计超过 {max_mb} MB |
feedback.too_many_files | 最多 {max} 个日志 |
file
| 代码 | 信息 |
|---|---|
file.encode | 无法将实验写为 JSON |
file.io | 无法读取或写入 {path} |
file.json_invalid | 不是有效的实验文件:第 {line} 行第 {column} 列有 JSON 错误 |
file.not_found | {path} 不是服务器数据文件夹中的文件 |
file.too_large | 实验文件最大 {max} MiB |
firewall
| 代码 | 信息 |
|---|---|
firewall.declined | 未授予管理员权限,因此防火墙未被更改 |
firewall.failed | 无法读取或更改防火墙规则 |
firewall.server | 服务器的防火墙需在服务器上设置:请在那里运行 signallab firewall allow,或联系其管理员 |
firewall.unsupported | 此处没有可更改的按程序防火墙——请在 ufw 或 firewalld 中开放端口 |
graph
| 代码 | 信息 |
|---|---|
graph.cycle | 此节点处于环路中;只有“循环”节点的循环体可以连回该循环 |
graph.needs_http | 每条路径上都需要在它之前有一个 HTTP 请求 |
graph.outputs_required | 请连接必需的输出 |
graph.port_unexpected | 输出 {port} 不属于此节点 |
graph.start_input | “开始”不能有输入 |
graph.unreachable | 无法从“开始”到达 |
hex
| 代码 | 信息 |
|---|---|
hex.empty | 没有要发送的字节——请输入成对的 hex 数字,例如 de ad be ef |
hex.invalid | {value} 不是 hex 字节——请使用成对的数字,例如 de ad be ef |
http
| 代码 | 信息 |
|---|---|
http.client_failed | 无法启动 HTTP 客户端 |
http.digest_invalid | 服务器要求 Digest,但未提供 realm 或 nonce |
http.digest_not_offered | 服务器返回了 401,但没有要求 Digest |
http.digest_other_origin | 请求被转发到了 {origin},并由它要求 Digest——只会应答请求本身所指定的源 |
http.digest_unsupported | 服务器要求使用 {algorithm} 的 Digest,而 Signal Lab 不支持该算法(支持 MD5 和 SHA-256) |
http.duration_invalid | 时长必须大于或等于 0 秒 |
http.rate_invalid | 速率必须为 0 或 {min}–{max} 请求/s |
impair
| 代码 | 信息 |
|---|---|
impair.bind_taken | {target} 已被 {other} 占用:本次运行的两个套接字不能共用一个端口 |
impair.loop | 中继的数据包会经由 {target} 回到中继自身,无限循环——请将其目标指向设备 |
impair.not_running | 网络损伤 {id} 不属于本次运行 |
impair.relay_unknown | 此实验中没有网络损伤节点 {id} |
inspect
| 代码 | 信息 |
|---|---|
inspect.empty | 捕获为空——没有可保存的内容 |
inspect.frame_gone | 帧 #{seq} 已不在捕获中:已被更新的帧取代 |
inspect.no_payload | 帧 #{seq} 只记录了大小,没有记录字节 |
json_path
| 代码 | 信息 |
|---|---|
json_path.invalid | {path} 不是 JSON 路径——请使用 $.field、$.items[0] 或 $["a b"] |
load
| 代码 | 信息 |
|---|---|
load.nothing_planned | 此负载模式不发送任何请求 |
load.spike_outside | 尖峰必须在时长内结束 |
load.steps_out_of_range | 每一级的速率必须为 0–{max} 请求/s |
load.threshold | {metric} 为 {actual},阈值 {op} {value} |
load.threshold_value | 阈值需要一个大于或等于 0 的数字 |
load.thresholds_too_many | 最多 {max} 个阈值 |
load.too_long | 各级阶梯的总时长超过了一次运行的时长上限({seconds} s) |
loop
| 代码 | 信息 |
|---|---|
loop.body_entered | 只有循环的“循环体”输出才能进入其循环体 |
loop.body_leaves | 在循环体内,每个输出都必须在循环体中继续,或连回循环 |
loop.body_parallel | 在循环体内,每个输出只能有一条连线:一次迭代作为一个分支运行 |
loop.body_unsupported | 循环体内不能有“开始”、“结束”、并行分支、汇合或其他循环 |
loop.limit | 迭代次数:{max};退出条件始终未成立(连接“上限”输出以继续) |
loop.no_return | “循环体”上没有任何路径连回此循环 |
mqtt
| 代码 | 信息 |
|---|---|
mqtt.client_id_required | 请输入客户端 ID——代理会拒绝空 ID |
mqtt.filter_required | 请至少添加一个主题过滤器 |
mqtt.no_answer | {broker} 接受了连接,但未及时应答——它是 MQTT 代理吗? |
mqtt.not_connected | 连接 #{id} 未打开——请先连接到代理 |
mqtt.protocol | {broker} 的应答不是 MQTT 3.1.1 |
mqtt.refused | {broker} 拒绝了连接(返回码 {code}) |
mqtt.refused_client_id | {broker} 拒绝了此客户端 ID——请换一个 |
mqtt.refused_credentials | {broker} 拒绝了用户名或密码 |
mqtt.refused_not_authorized | {broker} 未授权此客户端——请检查其访问规则 |
mqtt.refused_protocol | {broker} 不接受 MQTT 3.1.1 客户端 |
mqtt.refused_unavailable | {broker} 当前不可用——请稍后重试 |
mqtt.subscribe_refused | {broker} 拒绝了对 {filter} 的订阅 |
mqtt.topic_invalid | 无法向此主题发布 |
mqtt.topic_required | 请输入要发布到的主题 |
name
| 代码 | 信息 |
|---|---|
name.no_value | {name} 没有值 |
name.not_on_every_path | {{{name}}} 并非在此步骤之前的每条路径上都已设置 |
name.unknown | 未知名称 {{{name}}}——请添加参数或提取变量 |
netsim
| 代码 | 信息 |
|---|---|
netsim.not_running | 中继 {id} 已不在运行 |
node
| 代码 | 信息 |
|---|---|
node.bind_invalid | {value} 不是监听地址——请使用 IP:端口,例如 0.0.0.0:9001 |
node.header_invalid | {value} 不是有效的标头名称 |
node.load_alone | 负载会取代“重复”和“重试”:请关闭它们 |
node.load_unsupported | 只有 HTTP 请求才能在负载下运行 |
node.method_invalid | {value} 不是 HTTP 方法 |
node.not_found | 节点 {id} 已不存在 |
node.osc_address | OSC 地址以 / 开头({value}) |
node.params_only | 此处只能使用参数——运行会在第一个步骤之前订阅 |
node.range | 必须为 {min}–{max} |
node.repeat_too_long | 重复所需时间超过了一次运行的时长上限({seconds} s) |
node.repeat_too_many | 发送次数超过 {max}:请延长间隔或缩短时长 |
node.repeat_unsupported | 只有发送的步骤才能重复 |
node.required | 必填 |
node.retry_unsupported | 只有发送或监听的步骤才能重试 |
node.rules_too_many | 最多 {max} 条参数规则 |
node.target_invalid | {value} 不是带端口的地址,例如 127.0.0.1:9000 |
node.too_long | 太长:最多 {max} |
node.topic_filter | {value} 不是主题过滤器:+ 代表完整的一级,# 只能代表完整的最后一级 |
node.topic_wildcard | 发布主题不能包含通配符 + 或 # |
node.url_invalid | {value} 不是 http:// 或 https:// URL |
osc
| 代码 | 信息 |
|---|---|
osc.packet_malformed | 格式错误的 OSC 数据包({bytes} B) |
osc.pattern_char | OSC 地址中此处不允许使用“{char}” |
osc.pattern_empty_segment | 斜杠之间的部分为空 |
osc.pattern_empty_set | [ ] 集合为空 |
osc.pattern_range | 范围 {range} 是倒序的 |
osc.pattern_slash | OSC 地址模式以 / 开头 |
osc.pattern_too_long | 地址模式超过 {max} 个字符 |
osc.pattern_unclosed | 未闭合的 [ 或 { |
param
| 代码 | 信息 |
|---|---|
param.duplicate | 参数 {name} 定义了两次 |
param.name_invalid | 参数名“{name}”必须以字母或 _ 开头,且只能包含字母、数字和 _ |
param.name_reserved | “{name}”是保留字,不能用作参数名 |
param.too_large | 参数 {name} 超过 {max} KiB |
param.unknown | 未知参数 {name} |
params
| 代码 | 信息 |
|---|---|
params.too_many | 最多 {max} 个参数 |
position
| 代码 | 信息 |
|---|---|
position | 位置 {position} |
profile
| 代码 | 信息 |
|---|---|
profile.active_missing | 当前配置 {name} 不存在 |
profile.duplicate | 配置 {name} 定义了两次 |
profile.name_invalid | 配置名称为 1–{max} 个字符 |
profile.unknown_param | 配置 {profile} 设置了 {name},但它不是参数 |
profile.values_too_many | 配置 {profile} 设置的值超过 {max} 个 |
profiles
| 代码 | 信息 |
|---|---|
profiles.too_many | 最多 {max} 个配置 |
regex
| 代码 | 信息 |
|---|---|
regex.invalid | {pattern} 不是有效的正则表达式 |
run
| 代码 | 信息 |
|---|---|
run.join_waiting | “汇合分支”仍在等待 {count} 个分支——有一条进入它的连线从未被走到,例如某个分支走了别的路径 |
run.limit_range | 一次运行可持续 1 到 {max} 秒 |
run.no_end | 运行在到达“结束”之前就停止了 |
run.node_missing | 缺少节点 {id} |
run.not_a_check | 此节点不是检查 |
run.not_a_wait | 此节点不是等待 |
run.not_an_action | 此节点不发送也不监听 |
run.override_unknown | “自定义运行…”设置了 {name},但它不是参数 |
run.timeout | 运行超过 {seconds} s,已被停止 |
runs
| 代码 | 信息 |
|---|---|
runs.name_invalid | “{name}”不是运行报告 |
runs.not_found | 没有运行“{name}”:其报告已被删除 |
scan
| 代码 | 信息 |
|---|---|
scan.host_required | 请输入要扫描的主机 |
secret
| 代码 | 信息 |
|---|---|
secret.empty | 机密不能为空 |
secret.missing | 此计算机上未存储机密 {name}——请在“参数 → 机密”中设置 |
secret.name_invalid | 机密名称“{name}”必须以字母或 _ 开头,只能包含字母、数字和 _,且最多 {max} 个字符 |
secret.read_only | 此处的机密是只读的:请在服务器上设置 {name}(SIGNALLAB_SECRET_{name},或其机密文件夹中名为 {name} 的文件) |
secret.store | 系统凭据存储处理 {name} 时出错 |
secret.too_large | 机密最大 {max} KiB |
secret.unsupported | 机密保存在 Windows 凭据管理器中,而此系统没有 |
seed
| 代码 | 信息 |
|---|---|
seed.range | 种子必须为 0–{max} |
show
| 代码 | 信息 |
|---|---|
show | 显示 |
signals
| 代码 | 信息 |
|---|---|
signals.encode | 无法将信号库写为 JSON |
signals.json_invalid | {path} 不是有效的信号库:第 {line} 行第 {column} 列有 JSON 错误——请修复该文件或将其移除 |
socket
| 代码 | 信息 |
|---|---|
socket.option_failed | 系统不接受套接字选项 {option} |
template
| 代码 | 信息 |
|---|---|
template.arg_empty | 参数为空 |
template.arg_integer | {function}:{value} 不是整数 |
template.arg_invalid | 参数 {value} 必须加引号 |
template.arg_number | {function}:{value} 不是数字 |
template.arg_quote | 参数中有未闭合的引号 |
template.args_pick | pick(…) 至少需要一个选项 |
template.args_random_float | random_float(min, max[, digits]) 接受 2 或 3 个参数 |
template.args_random_int | random_int(min, max) 接受 2 个参数 |
template.args_uuid | uuid() 不接受参数 |
template.bad_call | {text} 不是有效的函数调用 |
template.bad_name | {text} 不是有效的名称 |
template.bad_path | {text}:无效路径——请使用 .field、[0] 或 ["key"] |
template.digits | random_float 接受 0–{max} 位小数 |
template.empty | 空的 {{ }} |
template.needs_name | {head} 需要名称:{head}.NAME |
template.no_field | {name} 没有字段 {path} |
template.node_fields | node 只有 node.id |
template.now_fields | now 只有 now.iso |
template.range | {function}:min {min} 必须小于 max {max} |
template.run_fields | run 只有 run.id 和 run.seed |
template.unclosed | 未闭合的 {{ |
template.unknown_function | 未知函数 {name}() |
transport
| 代码 | 信息 |
|---|---|
transport.address_in_use | {target} 已被其他程序占用 |
transport.address_unavailable | {target} 不是此计算机的地址 |
transport.denied | 系统或防火墙不允许访问 {target} |
transport.dns | 无法解析 {target}——请检查主机名 |
transport.failed | 发送到 {target} 失败 |
transport.refused | {target} 拒绝了连接——该端口上没有程序在监听 |
transport.reset | {target} 关闭了连接 |
transport.target_invalid | {target} 不是有效的地址 |
transport.timeout | {target} 未及时应答 |
transport.tls | 无法与 {target} 建立安全连接(证书或 TLS) |
transport.unreachable | {target} 不可达——请检查网络和地址 |
unknown
| 代码 | 信息 |
|---|---|
unknown | 意外的引擎错误({code}) |
variable
| 代码 | 信息 |
|---|---|
variable.name_invalid | 变量名“{name}”必须以字母或 _ 开头,且只能包含字母、数字和 _ |
variable.name_reserved | “{name}”是保留字,不能用作变量名 |
variable.shadows_param | 变量 {name} 与某个参数同名 |
wait
| 代码 | 信息 |
|---|---|
wait.bind_failed | 无法监听 {target} |
wait.not_listening | 未在监听 {target} |
wait.receive_failed | 在 {target} 上的监听因错误而停止 |
wait.timeout | {ms} ms 内没有匹配的消息({target} 上收到了 {unmatched} 条其他消息) |
ws
| 代码 | 信息 |
|---|---|
ws.close_code | {code} 不是客户端可发送的关闭代码——请使用 1000,或用 3000–4999 表示应用程序自定义的代码 |
ws.closed | WebSocket 连接已关闭({code}) |
ws.connection_after | {id} 不在此步骤之前——此步骤使用的连接由它打开 |
ws.connection_unknown | {id} 不是此实验中的“WebSocket 连接”节点 |
ws.handshake_failed | 与 {url} 的 WebSocket 升级失败 |
ws.handshake_status | {url} 返回了 HTTP {status},而没有切换到 WebSocket |
ws.header_invalid | 标头 {name} 不能随升级请求发送 |
ws.message_too_large | WebSocket 消息最大为 {max} 字节 |
ws.not_connected | 没有已打开的 WebSocket 连接 {id} |
ws.payload_required | 请以文本或 hex 字节形式提供消息 |
ws.protocol_error | 与 {url} 的连接中断:服务器未遵守 WebSocket 协议 |
ws.protocol_invalid | {value} 不是子协议名称:不能包含空格、逗号或斜杠 |
ws.subprotocol_refused | {url} 没有接受所提供的任何子协议 |
ws.url_invalid | {url} 不是 WebSocket 地址——请使用 ws://host:port/path 或 wss://… |
字段
信息对所涉及字段的称呼。
| 字段 | 名称 |
|---|---|
address | 地址 |
argument | 参数 |
attempts | 尝试次数 |
auth | 认证 |
bind | 监听于 |
body | 正文 |
broker | 代理 |
burst_length | 突发长度 |
burst_start | 突发丢包 |
code | 关闭代码 |
condition | 条件 |
conditions | 条件 |
connection | 连接 |
corrupt | 损坏 |
delay_ms | 延时 |
duplicate | 重复 |
duration_s | 时长 |
emulator | 模拟器 |
expected | 预期值 |
expected_text | 预期文本 |
fallback | 无路由接收的请求 |
greeting | 问候语 |
header_name | 标头名称 |
header_value | 标头值 |
headers | 标头 |
hex | Hex 字节 |
host | 主机 |
jitter_ms | 抖动 |
json_path | JSON 路径 |
latency_ms | 延迟 |
listen | 监听于 |
load | 负载 |
load_base | 基础速率 |
load_concurrency | 并发数 |
load_duration | 时长 |
load_every | 每级时长 |
load_from | 起始 |
load_peak | 峰值速率 |
load_rate | 速率 |
load_spike | 尖峰 |
load_step | 步长 |
load_steps | 阶数 |
load_to | 结束 |
loop_max | 迭代次数 |
loss | 丢包 |
max_ms | 时间上限 |
message | 消息 |
method | 方法 |
ms | 时长 |
name | 名称 |
outage_down | 停机时长 |
outage_up | 在线时长 |
password | 密码 |
path | 路径 |
pattern | 模式 |
payload | 载荷 |
port | 端口 |
profile_name | 配置名称 |
protocols | 子协议 |
qos | QoS |
rate | 速率 |
rate_kbps | 带宽 |
reason | 原因 |
relay | 网络损伤 |
reorder | 乱序 |
repeat | 重复 |
repeat_count | 发送次数 |
repeat_duration | 重复时长 |
repeat_interval | 间隔 |
repeat_jitter | 抖动 |
reply | 回复 |
reply_address | 回复地址 |
reply_arg | 回复参数 |
reply_args | 回复参数 |
reply_bind | 接收回复于 |
reply_pattern | 回复模式 |
reply_payload | 回复载荷 |
reply_topic | 回复主题 |
reset | 连接重置 |
responses | 响应 |
retained | 保留消息 |
retry | 重试 |
retry_delay | 尝试间隔 |
rule | 规则 |
rule_value | 规则值 |
rules | 规则 |
stall | 半开 |
status | 状态 |
target | 目标 |
threshold | 阈值 |
thresholds | 阈值 |
timeout_ms | 超时 |
to | 回复到 |
token | 令牌 |
topic | 主题 |
url | URL |
username | 用户名 |
value | 值 |
variable | 变量 |
weight | 权重 |