3

可能重复:
强制 telnet 客户端进入字符模式

我正在编写一个类似 MUD 的游戏(如果重要的话,在 Python 中)。我注意到 Windows telnet 客户端和 Ubuntu 的 telnet 客户端在连接到服务器时的行为略有不同。

在 Ubuntu 中,我输入了一些内容,但在我按下回车之前,服务器不会收到任何内容。对于 Windows,每次击键都会发送到服务器。

我希望每个连接的客户端都能展示我从 Ubuntu 获得的行为。我尝试过实现缓冲区服务器端,但我一直遇到问题(最新的是我应该如何处理退格)。

我可以发送任何特殊命令来设置 telnet 客户端的“模式”吗?或任何推荐阅读以更好地了解这里发生了什么?

更新:看起来我所要做的就是在一个人连接后立即运行以下行。

socket.send( chr(255)+chr(251)+chr(34) )  #IAC WILL LINEMODE

但是,这似乎没有任何效果。有人对我做错了什么有任何想法吗?

更新2:发现问题。我的服务器将从用户那里收到的所有内容发送给其他所有用户。这包括在我设置模式后它从客户端得到的确认——这产生了一些非常糟糕的结果。

4

0 回答 0