我正在玩Java套接字,telnet似乎是一个模拟tcp客户端的好程序.
我不明白为什么telnet只在输入上发送数据?我不是在寻找黑客让它立即发送数据(因为它是可用的(通过telnet发送数据而不按回车))但我想了解telnet的内部工作/设计,这似乎是天生的.
这是一个实现选择.
基本上,使用TCP和UDP,您可以在发送之前缓冲尽可能多的数据.目标是最大化有效负载大小,因此您不会为您键入的每个密钥发送单个数据包,这可以通过定制的Java telnet客户端轻松实现,该客户端是flush()每个字符的套接字.
Telnet作为一个远程shell客户端诞生,并且由于普通的系统shell处理文本行,实现者发现ENTER在将数据刷新到服务器之前等待用户输入是合理的,如果收到部分数据,它将等待回车.线