- 基于ReWorks平台上的TCF实现
- 该API的设计非常难用,一是说明文档几乎没有,二是把底层的东西代入上层,稍不留神就出错
TCF是WindRiver公司弄出来的,目前成了Eclipse的标准插件之一(我的猜测:WindRiver Workbench是基于Eclipse开发的,所以二者有了联系)。
TCF基于TCP,传输JSON格式的报文。JSON报文中只能容纳ASCII字符,字节流要通过Base64编码后才能传输。
报文格式如下:start.ascii.ascii.array.base64.end。
必须!将通道里面所有的数据全部读出来,否则会触发assert,导致该线程挂掉。报文中的点其实是字节0,读完一个ascii之后,一定要把把这个点读出来,否则出问题。
数组的访问
VariableWatch.force.null.4.[45,0,0,0]
static void callback(InputStream *inp, void *arg) { int ret; ret = json_read_ulong(inp); } json_read_string(&c->inp, buffer, 16); if (c->inp.read(&c->inp) != 0) exception(ERR_JSON_SYNTAX); length = json_read_ulong(&c->inp); if (c->inp.read(&c->inp) != 0) exception(ERR_JSON_SYNTAX); json_read_array(&c->inp, callback, NULL);