最近在使用ymode协议进行文件传输的过程中发现一些问题,因而做一下总结。协议的接收是自己实现的,协议的发送使用的是PC上的现有工具“超级终端”和“SecureCRT 7.3”,使用“超级终端”用的比较多,协议最开始的调试也是用的“超级终端”,那么问题来了。
1、超级终端和SecureCRT 7.3到底有何区别呢?在网上搜了好多也没有人说这两者的区别(之前也发现两者有区别,但没有去深究,又是太懒了!!)。
2、决定自己动手写PC端的ymode工具。
“自己动手丰衣足食”,这句话说得太好了!在自己写的工具调试下可以更好地看的清协议的本质。经过调试发现虽然用的是1K的数据大小在传输,但实际上SecureCRT 7.3会在数据包小于1K的时候发送128的数据包,不足128的补0x1A。而“超级终端”则不会,如果是1K的数据传输,那么在不足1K的数据包下会将数据包补为1K,不足的补0x1A。
这就是两者协议最主要的区别,而我设计的接收只是默认按1K的数据包处理的,所以,在传输128数据包的时候如果按1K处理肯定会出错。