【发布时间】:2021-07-02 03:07:46
【问题描述】:
我正在构建一个使用GNU Readline 处理控制台输入的telnet 应用程序。当前的实现为每个新的客户端连接创建一个新的子进程 - 这会为每个子进程分配一个 readline 实例。
fork 类型的网络服务器不是最有效的,所以我想改用 poll/epoll,但为此必须将 readline 配置为使用多个流缓冲区和历史记录,每个客户端一个连接。
我阅读了GNU readline 文档以搜索此类配置,但没有找到。这可能吗,还是有某种readline 替代方案可以启用此功能?我应该放弃这个想法吗?
【问题讨论】:
-
担心交互式应用程序中的分叉效率?你想用它做什么,每秒按十亿个键?话虽如此,看here
-
也许你是对的。我认为 fork 足够高效,我对这种方法的担忧来自构建网络服务器的最佳实践,我读了很多,poll/epoll 是最佳选择的方法。
标签: c++ c linux telnet readline