C# 远程登录时如何屏蔽用户输入?
我有一个套接字应用程序。客户端连接的套接字使用不允许查找的NetworkStream 那么,既然NetworkStream不提供搜索功能,当用户远程登录到我的套接字服务器时,我如何屏蔽用户输入 1.)它需要与第三方telnet合作,即:我没有创建telnet客户端 2.)我可以满足于在telnet客户端中不显示任何内容,但更喜欢屏蔽C# 远程登录时如何屏蔽用户输入?,c#,sockets,C#,Sockets,我有一个套接字应用程序。客户端连接的套接字使用不允许查找的NetworkStream 那么,既然NetworkStream不提供搜索功能,当用户远程登录到我的套接字服务器时,我如何屏蔽用户输入 1.)它需要与第三方telnet合作,即:我没有创建telnet客户端 2.)我可以满足于在telnet客户端中不显示任何内容,但更喜欢屏蔽 提前感谢。Telnet协议可以同时支持“本地回显”和“远程回显”。通常现在,一切都是通过远程echo完成的(这更好地支持交互式行编辑功能)。这意味着服务器负责将键入
提前感谢。Telnet协议可以同时支持“本地回显”和“远程回显”。通常现在,一切都是通过远程echo完成的(这更好地支持交互式行编辑功能)。这意味着服务器负责将键入的内容发送回客户端,以便客户端可以在屏幕上显示 因此,要支持“掩蔽”,则:
- 为键入的每个字符发回类似
的内容*
- 当客户端键入密码时,不要将任何内容发送回客户端
如果需要,在关闭echo的同时,可以为读取的每个字符向用户发送一个“*”字符。这会给他们显示他们的字符正在被接收,尽管对于密码,我更喜欢不回显。你说的“屏蔽”是什么意思?当用户键入字符时,显示*而不是应该是
IAC do echo/don echo
?实际上,重读RFC 857,我认为服务器应该发送will echo,它通知客户端它(服务器)将提供回显(意味着客户端应该停止),然后它应该发送不回显,告诉客户端它将停止回显(因此客户端应该再次执行本地回显)