如何在telnet客户端实现tab补全

2024-02-28

我有一个为 telnet 客户端打开连接的服务器,例如 例如: 我运行服务器./server在另一个窗口中,我将 telnet 客户端作为 telnet localhost 9999 运行, 当我运行 telnet 客户端时,我将收到新的 CLI 提示符 CLI>>。

从这个提示中,我需要自定义选项卡完成,但许多博客说我们真的不能在 telnet 端实现 readline 功能,如果是这样,我们就去找我们自己的客户端。

我该如何实现它?任何相关帮助将不胜感激。我使用的是linux(Ubuntu)和C语言。


您必须将 telnet 客户端置于字符模式,以便在键入每个键时将其直接发送到服务器(而不是等待返回键发送完整的行)。然后,每当您收到“\t”时,请检查在“\t”之前收到的内容,并根据您是否可以完成该行,发送回完整的行或可能性列表。基本上,您在服务器中实现 readline() 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在telnet客户端实现tab补全 的相关文章

  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • 使用 C# 读取 Soap 消息

  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看

随机推荐

  • ASPX 和 WinForms 之间如何通信

    如何从 ASPX 网页向 WinForms 应用程序发送命令 我们已经探索过使用不同的命令行参数执行 WinForms 应用程序 但想要更智能的东西 Thanks 在您的应用程序中创建一个侦听 HTTP 的 Web 服务器GET and o
  • PullRefreshIndicator 与 ScrollableTabRow 重叠

    我开始了解 Jetpack Compose 我把这个放在一起app https github com 4gus71n TheOneApp在我探索不同的日常用例时 该项目中的每个功能模块都应该解决不同的场景 该功能模块之一 chatexamp
  • 图像缩放类型在颤动上居中裁剪?

    我正在尝试做一些类似于 android ImageView 的 centerCrop 属性的事情 设置imageview的高度 并使其裁剪并对齐到中心 就像centerCrop在android上的工作一样 Widget bindItem B
  • C 中的暂定定义和链接

    考虑由两个文件组成的 C 程序 f1 c int x f2 c int x 2 我对第6 9 2段的阅读C99标准 http www open std org JTC1 SC22 wg14 www docs n1124 pdf是这个计划应该
  • 是什么导致不可变对象在没有安全发布技术的情况下被发布?

    即使不诉诸安全发布习惯用法 也可以发布不可变对象 这是什么意思 我读过了Java 并发实践 第3章 共享对象 但仍然无法理解该声明 不可变对象可以通过任何机制发布 V S 应该安全地发布有效的不可变对象 编辑 我经历过SO类似的问题 htt
  • 在 Java 中,/(即正斜杠)在 $Lambda$15/0x00000008000a9440@32e6e9c3 等对象引用中意味着什么?

    在 JShell 中 如果我这样做 interface Foo String foo Foo gt hi I get created interface Foo 2 gt Lambda 15 0x00000008000a9440 32e6e
  • 如何在 Java 中使用 Blender 模型?

    真的只是一个一般性问题吗 假设我正在制作一款游戏 并在 Blender 中制作了一个角色模型 我将如何在 Java 中使用这个模型 我会以某种方式导入它吗 Thanks 通常 在搅拌机中制作模型时 您可以以某种格式导出模型 以便稍后将其导入
  • Django 重写模型 Clean() 与 Save()

    保存模型时 我需要执行一些操作 尤其是从管理员那里执行 我将几个字段大写并检查以确保其中一个字段或另一个字段已填充 我还创建了场蛞蝓 现在 这些功能被分为覆盖清理和保存功能 它现在可以使用 但我很好奇何时使用它们 我浏览了文档 但找不到具体
  • 如何从 .js 文件中的 jQuery 函数访问 PHP 会话变量?

    如何从 js 文件中的 jQuery 函数访问 PHP 会话变量 在此代码中 我想从会话变量中获取 值 function progressbar progressbar value 37 您可以通过 PHP 生成 javascript 文件
  • 自定义 UITableView 动态单元格高度

    我搜索了无数博客和文章 了解如何确定自定义 UITableViewCell 的动态高度及其详细文本 我真的很难找到任何关于这方面的好的文档 我需要做的是让单元格根据里面的文本生长 但高度永远不要低于 70 我已经在 StackOverflo
  • c++ 传递数组而不是可变长度参数列表

    所以我有一个采用可变长度参数列表的函数 例如 int avg int count stuff 我可以用它来称呼它avg 4 2 3 9 4 而且效果很好 它需要维护这个功能 有没有办法让我也用数组来调用它而不是列出变量 例如 avg 4 m
  • Django 模型中没有此类列错误

    我正在向 Django 模型添加一个新字段 但无论新字段是什么 当我尝试运行 makemigrations 时都会收到 no such column 错误 File Users hugokitano canopy lib python2 7
  • 找到二维直方图的峰值

    我做了一些二维直方图 x y 数据 我得到一张像这样的图像 我想要一种方法来获得 x y 存储最大值的点的坐标H 例如 在上图的情况下 它将是具有近似坐标的两个点 1090 1040 and 1110 1090 这是我的代码 import
  • 剃刀 - 单选按钮的绑定问题

    我正在努力为单选按钮绑定 ans 我正在做一个小项目 我有两个模型问题和答案 我想要实现的目的是提取问题列表并根据设置用户将有多种选择或在文本框中输入答案 使用单选按钮 我似乎无法绑定 ans 它得到一个空对象 有人可以指出我正确的方向吗
  • Azure DevOps 添加自定义选项卡以生成摘要

    我想将自定义选项卡添加到我的构建摘要中 在这些选项卡中我想显示结果PowerShell 测试代码覆盖率任务 结果大约是50 200 htm生成的报告报告生成器 https github com danielpalme ReportGener
  • 在 .NET 中表示不可变列表的最佳方式是什么?

    我最近开始使用 F 进行 实际工作 并重新发现了不可变数据结构的美妙之处 例如 F 中的可区分联合和记录 我还发现它们在 C 中使用起来非常简单 特别是因为它们不需要对 F 运行时有任何直接依赖 然而 当涉及到在这些结构中表示列表时 我还没
  • 正则表达式替换 sublime 中替换中包含部分匹配的值?

    我想出了这个正则表达式来查找所有以 并包含 下划线 w w 我基本上是在寻找变量 比如 var foo etc 如何使用正则表达式组替换内容 例如 如何删除下划线并使下一个字母大写 例如 varFoo 替换表达式为 1 u 2 1 2是捕获
  • 如何使用 Raphael.JS 根据鼠标移动绘制一条线

    我试图随着鼠标在纸上移动画一条线 我只知道如何使用画线path 但想知道是否有人有想法来画一条线mousemove 请帮我解决这个问题 这是使用 raphael 的此类示例的链接 与拉斐尔一起绘画 图片来源 Jonas http irunm
  • 本地域与本地主机的性能

    TCP 连接之间是否存在性能差异 本地主机 127 0 0 1 解析到本地计算机的域 或者更具体地说 后面的连接是通过环回设备还是通过实际网络 我问的原因是我正在考虑更改许多 PHP 应用程序中的数据库设置 以便它们使用完整的域而不是本地主
  • 如何在telnet客户端实现tab补全

    我有一个为 telnet 客户端打开连接的服务器 例如 例如 我运行服务器 server在另一个窗口中 我将 telnet 客户端作为 telnet localhost 9999 运行 当我运行 telnet 客户端时 我将收到新的 CLI