情况如下:
我编写了一个 C 程序,在 WRT54GL 路由器(OpenWRT White Russian,Busybox 1.00,Dropbear client v0.49)上进行一些无线测量。请注意,我不能在路由器上使用更新版本的操作系统或安装其他软件包(只允许使用脚本或小程序)。
到目前为止,我每 15 分钟记录一次我的测量结果,从路由器通过
cat localfile | ssh target_address cat ">" remotefile
我从我的 C 程序 (system()) 调用在日志开始时创建或存在的每个日志文件。我不喜欢的是,系统调用为每个调用打开一个新的 shell,导致一些开销。好消息是,通过这种方式数据被加密,因为我为每个文件都做了一个连接,我可以直接从服务器获取每个文件的反馈,这样我就可以从路由器中删除日志。(其他方法从服务器上的路由器调用脚本,然后返回日志记录的值不起作用,因为 dropbear ssh 客户端不支持此返回)。
所以我要问的是:有什么更优雅的方法可以做到这一点并减少这种开销?到目前为止,我已经阅读了一些关于如何使用 TLS / TCP 套接字的教程(这样我就可以将加密的数据发送到服务器)。另一种可能性可能是 HTTP PUT 或 POST,但我不确定如何获得正在发送的数据的反馈。所以我想听听你们的意见以及你们将如何解决这个问题。
此致