我在呼叫系统命令

system("tftp -m binary 192.168.1.1 -c get myfile  > /dev/null") ;

它在tftp服务器运行时运行良好,但在tftp服务器关闭时会使我的c程序崩溃。
有没有办法在c源代码中检查服务器是否可用?

最佳答案

我认为你的问题不在于服务器的可用性,而在于tftp(至少在我的Ubuntu机器上)不支持你提供的命令行参数。事实上,它唯一支持的命令行参数是服务器的名称。
但是,您可以尝试将命令管道化到tftp(模拟交互式会话),如下所示:

system( "echo -e \"binary\\nget myfile\\nquit\" | tftp 192.168.1.1" );

如果服务器不可用,它将在几秒钟后超时,并将控制权返回到您的程序。

关于c - 从C源代码调用tftp get命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10045432/

10-12 18:36