调用系统命令
system("tftp -m binary 192.168.1.1 -c get myfile > /dev/null") ;
当 tftp 服务器运行时它工作正常,但当 tftp 服务器关闭时它使我的 c 程序崩溃。
有没有办法在c源代码中检查服务器是否可用?
最佳答案
我认为您的问题不在于服务器的可用性,而在于 tftp(至少在我的 Ubuntu 机器上)不支持您提供的命令行参数。事实上,它支持的唯一命令行参数是服务器的名称。
但是,您可以尝试将命令通过管道传输到 tftp(模拟交互式 session ),如下所示:
system( "echo -e \"binary\\nget myfile\\nquit\" | tftp 192.168.1.1" );
如果服务器不可用,它会在几秒钟后超时并将控制权返回给您的程序。
关于从 C 源代码调用 tftp get 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10045432/