我有一个应用程序,我接受来自telnet客户端的套接字连接,并建立一个简单的,键盘驱动的字符GUI.
telnet客户端,至少在Linux上,默认为一次一行模式,所以我总是需要^]mode char
手动完成.
相关RFC的略图表明,如果我的应用程序只是IAC DONT LINEMODE (\377\376\042)
在客户端连接后立即发送字符,则应强制客户端进入字符模式.但是,它没有任何区别.
什么是最简单的代码才能完成这项工作?理想情况下只是一个要发送的字符串.我的应用程序可以吸收客户端发回的任何垃圾.
有趣.我发送的运气更多了
IAC WILL ECHO IAC WILL SUPPRESS_GO_AHEAD IAC WONT LINEMODE 255 251 1 255 251 3 255 252 34
IAC WONT LINEMODE似乎是多余的:我的telnet客户端似乎在没有它的情况下达到了正确的状态,但我将其保留为完整性.
为了它的价值,我自己解决了.
// IAC WONT LINEMODE IAC WILL ECHO write(s,"\377\375\042\377\373\001",6);
获取远程(至少从Linux机箱上的Xterm telnet)到正确的状态.