gpt4 book ai didi

c - Telnet 从服务器启用线路模式

转载 作者:太空狗 更新时间:2023-10-29 11:08:55 26 4
gpt4 key购买 nike

我正在开发面向线路的 telnet 服务器,而不是客户端。

目前,要建立连接,我正在使用:

IAC DONT ECHO
IAC DONT SURPRESS-GO-AHEAD
IAC DO LINEMODE
IAC DO NAWS

目前,服务器只处理 IAC AYT 和 NAWS 相关的东西。其他任何东西都会被拒绝,就像这样:

IAC DONT <OPTION>

但是,服务器仍然一次获取一个字符。

根据 here , ECHO 和 SGA(同时)启用一次一个字符模式。但是,我都禁用了。如何让客户端一次一行发送数据?

我正在使用 GNU inetutils 的 telnet 来测试它。

This question的标题相似,但与其标题相反,它涉及编写一个 telnet 客户端。

最佳答案

我刚刚检查了我的旧 telnet 服务器源,我从服务器端发送了 WILL 和 WONT。我处理了客户的 DO 和 DONT。

您实际上是在尝试编写一个真正的 telnet 服务器,还是只是一个与 telnet 兼容的服务器,一次发送一行数据(例如基于文本的聊天或游戏服务器)?如果是后者,您可以取消大部分选项,因为根据我的经验,telnet 客户端默认一次在线。

对于我的游戏服务器 (MUD++),我在标准游戏模式下所做的一切就是在登录密码状态期间禁用/启用 echo,或者在用户调用 PICO 编辑器时启动字符模式并启动伪 tty。

更新:如果您打算认真编写一个 telnet 服务器或任何其他网络软件,我真的很喜欢经典的 W. Richard Stevens 系列。 TCP/IP Illustrated Volume 1, The Protocols 涵盖了实用意义上的 telnet,并结合 1184(如果我记得的话)等 RFC,您将拥有所需的一切。

关于c - Telnet 从服务器启用线路模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24786761/

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