NetAssist 中文文档 下载 App

嵌入 C 语言脚本实现动态数据发送

什么是脚本发送

脚本发送让你在发送的数据里嵌入一小段 C 语言代码,代码的返回值会被自动替换到对应位置。这样你就可以发送不是固定死的数据——比如每次发都带上当前时间戳、或者自增序列号。

基本语法规则

在发送框中,用一对花括号包裹 C 代码片段即可:

Hello {time(NULL)} World

当你点击发送时,{time(NULL)} 会被替换成当前 Unix 时间戳。

常用脚本示例

自增序列号

{static int seq=0; seq++;}

第一次发 seq=1,第二次 seq=2,依次递增。static 关键字保证变量在多次发送之间保持值。

当前时间戳

{time(NULL)}

获取当前秒级时间戳。

16 进制时间戳

{char buf[16]; sprintf(buf, "%08X", time(NULL)); buf;}

用 sprintf 格式化输出,返回字符串指针。

随机数

{rand() % 1000}

生成 0 到 999 之间的随机整数。

动态脚本与 HEX 模式配合

脚本的返回值会自动按当前编码和模式处理。在 HEX 模式下,返回的整数会被转为对应的字节序列发出。

死循环防护

V5.15 修复了一个安全问题:之前如果脚本里不小心写了死循环(比如 while(1);),软件会卡死。现在可以控制结束发送——避免了调试时的意外。

注意事项

实用场景

场景:模拟心跳包

设备需要每秒发一次心跳,心跳里带自增序号。配合"循环发送"功能(间隔 1000ms),发送内容写:

HEARTBEAT seq={static int seq=0; seq++;}

就能模拟真实设备的心跳行为。