gpt4 book ai didi

c - 验证 TELNET 命令是否完成

转载 作者:行者123 更新时间:2023-11-30 15:24:25 25 4
gpt4 key购买 nike

如何使用 C 语言中的原始 telnet 选项验证客户端发出的 TELNET 命令是否在服务器上完成?

recv(...) 等待缓冲区输入,但不会等到命令完成。

等待是否需要在套接字级别?或者,有 TELNET 选项吗? (我还没有通过搜索找到任何内容)

man socket显示可以使用select/poll来验证socket FD是否开放读/写;但我认为这不是正确的方法。

任何帮助或至少指导都会有帮助。

最佳答案

假设您指的是在远程主机上运行的命令,而不是 telnet 命令(IAC DON'T ECHO 等),则无法执行您想要的操作。 telnet 连接只是一个终端,来回传递字符。它不知道这些字符是否代表对另一端程序的命令和响应。

所以真正的问题是如何以编程方式操作一些专为交互式使用而设计的命令行界面。答案将取决于命令行界面本身,而不是您用来连接它的方法(telnet、ssh、RS232 串行...无论如何您都会遇到同样的问题)。

命令行界面的设计目标是人类运算符(operator)能够理解提示,并且足够聪明,能够对未出现的预期提示做出响应。编写一个程序来为特定的命令行界面执行此操作可能很困难,除非您很幸运并且它有一个命令可以进入具有结构化响应的非交互模式。

人们通常用来编写此类程序的工具是 expect .

关于c - 验证 TELNET 命令是否完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28411188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com