我用QTcpSocket创建了一个简单的telnet服务器。当(telnet)客户端一次发送一行命令时,它很好用。使用QTcpSocket接收终端上/下键
我现在想让我的telnet服务器捕获上/下箭头键,以便我可以从客户端调用以前的命令。当我在远程登录客户端的键盘上按/上时,我看到^ [[A屏幕上,但我不认为它被发送到服务器。
有没有办法强制telnet客户端发送这些字符(无需按回车)?我嫌疑人,这与非缓冲模式有关,但文档说QTcpSocket不能做无缓冲模式。我在正确的轨道上吗?有没有办法做到这一点?
我的Telnet服务器应用程序应适用于所有的Telnet客户端,并假定它们支持的xterm/VT100/ANSI代码等。我不想为一个单一的Telnet客户端程序。 – TSG 2014-09-23 13:42:06
@GenerationDSystems:你是对的,这正是我的意思:如果你的问题是“我如何强制telnet客户端做某事”,那么我的答案是“它取决于你使用的是哪一个telnet客户端”。 ..我很确定缓冲不会发生在'QTcpSocket'上,它正在侦听接收一些数据...所以服务器端你应该没问题......无论如何你没有与我们分享你的代码,所以我不知道你在做什么,所以我只是猜测... – 2014-09-23 13:46:35
我没有相关的代码分享。我的问题更通用。我是否通过在输入流上查找代码来处理此问题? Telnet客户端默认使用“LINEMODE”工作吗?不知道如何处理这个问题 – TSG 2014-09-23 14:10:05