我正在开发一个固件更新程序,它应该从Web服务器下载数据并将其上传到嵌入式Linux设备。
我希望程序(客户端)在建立它们之间的连接并开始发送数据之前启动另一个程序(服务器)。要在同一环境中轻松完成:只需拨打QProcess
和startDetached()
,但我想远程执行此操作:我想在桌面计算机中启动客户端,并通过ETH连接设备/ TCP在已知的IP地址中,单击一个按钮,该按钮将要求设备启动服务器。当服务器完成启动并开始等待连接时,桌面应用程序将打开套接字连接并开始发送数据。发送完所有数据后,应发送另一个命令,要求服务器关闭,关闭连接并完成文件传输操作。
我的问题是:如何在应用程序位于不同的计算机(在调用程序位于PC中时在嵌入式Linux设备中)启动或停止时,如何执行此操作 STRONG>?请注意,解决方案必须不依赖于某些额外的软件(例如Tcp服务器)才能在设备上持续运行 - 这正是我想要避免的。
答案 0 :(得分:1)
这与Qt无关,因为它没有提供任何用于此目的的东西。 从这一点起至少有两条路径:
ssh user@remote-machine "any command here"
。这可以使用QProcess调用;
或请注意允许机器从外部源执行任意命令时可能出现的任何安全问题。