从 C 源代码调用 tftp get 命令

标签 c command tftp

调用系统命令

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/

相关文章:

java - 使用JAVA从TFTP服务器获取文件大小,无需下载文件

c - 多线程 TFTP 服务器 - pthreads 问题

udp - TFTP 流水线协议(protocol)

c - 在 C 中打印一个结构

c - 查找阶乘和阶乘数的结尾零

c++ - 选择从 Windows 将文件拖放到 GLFW 应用程序中

python - 如何从 python 中执行复杂的外部命令?

c - G_DEFINE_TYPE 在 GTK 中是什么意思?

Vim - 写入更改的缓冲区时执行命令

WPF TabControl 使用命令更改 TabItem