c - 超越 C telnet 服务器中的文本消息

标签 c network-programming telnet

出于教育目的,我应该用 C 编写一个 TCP telnet 服务器。客户端只是作为 telnet 程序连接到服务器。建立连接后,客户端应该会在其控制台上看到一个带有一些选项的菜单,它应该能够通过箭头导航并使用 enter 接受。然后将选择发送到服务器,然后进行一些进一步的交互。

我在编写一些交换简单文本消息的 UDP 或 TCP 服务器客户端方面的经验很少,但在 telnet 或任何准图形前端方面的经验为零。问题是我什至不知道如何以一般方式处理这个“图形”菜单部分。我花了一些时间浏览网络,包括 RFC 854 和 1408,但运气不佳,因为大多数文章的深度太低或太具体。我想我根本不知道我应该寻找什么——我只怀疑它与 NVT 有关。

我的问题是:是否有超越标准 ascii stdin/stdout 的一般观点但足够深入的 telnet 手册/指南?或者,我应该开始寻找哪些短语?

最佳答案

也许您想了解更多关于 ANSI escape code 的信息.

但是telnet可能不会将它们传输到您的程序(至少,telnet 的大多数实现并不总能很好地处理转义码)。然后你就被卡住了(在客户端)。

所以你可以考虑使用一些其他的协议(protocol)。你有没有想到HTTP (可通过浏览器使用)?您会在 C 中找到 HTTP 服务器库(例如 libonion )和客户端库(例如 libcurl )。

关于c - 超越 C telnet 服务器中的文本消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49943173/

相关文章:

c - 在头文件中定义变量而不是 C 中的函数(非全局)

c - 输入大小未知

java - AMQP 中的 channel 和链接有什么区别?

http - 如何使用 Telnet 发送 HTTP 请求

python - 无法从 Linux 电脑 telnet 到 Windows 电脑 "login Failed error"

objective-c - 宏可以接受类型吗?

C程序错误:checking if password is valid

networking - C# 检测本地主机端口使用情况

iphone - CFWriteStreamWrite/CFReadStreamWriter 容易超时吗?

python行编辑telnet服务器