用Telnet客户端调试TCPSocket程序

本文介绍了如何使用Telnet客户端进行TCP Socket程序的调试,揭示了Telnet逐字和逐行发送数据的方式,以及如何处理不同平台的行结束符。通过理解Telnet协议,确保程序使用 作为行结束符,以实现跨平台的兼容性。同时提到了Telnet客户端的普通输入模式和命令模式的切换,以及如何设置用户输入回显。
摘要由CSDN通过智能技术生成
                以前经常用Telnet去水木,一直以为Telnet是一个字一个字的发送,估计协议挺复杂。嗯,现在也没有认真看看相关的RFC,所以Telnet的协议我还是不甚了解,但是最近写程序时被高人指点用Telnet测一下,发现Telnet居然如此便利和简单。
其实Telnet除了逐字发送之外,还有逐行发送的方式。其实这个无所谓,因为TCP协议的设计在思想上是想实现一种流的模型,让用户把数据当成流使用,而不是一个报文一个报文地处理,特别是对于比较高级的语言如Java和Ruby来说,这一点特别明显。要说区别还是有,如果逐字发送,那么Telnet客户端用户输入的更正,比如退格什么的,就必须由服务端自己处理;如果逐行发送,Linux下的telnet程序是客户端自己处理的,而Win32自带的telnet客户端仍是最后一起发送给服务器端处理(不过好像是可以设置的)。
Telnet客户端希望在成功连接到服务器端口是,服务器应先发送一些连接成功之类的文本给客户端。特别是Win32自带的telnet,如果连接之后服务器不发信息,客户端的用户输入的回显就不会打开,不管你输入什么都看不见(这一点也是可以设置的)。
Telnet协议设计的一个中心思想服务器端要彻底模拟一个本地的term,尽管很有可能服务器端连接的远程term和本地二者平台的规范存在差异;也就是说一个远程的term,无论它是什么平台,他发给服务器端的任何内容,都会被服务器端转换成服务器端所在平台的规范。要实现这一点,就要求客户端将用户输入转换为Telnet的规范,服务器端将遵从Telnet规范的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值