项目中的一个小错误

最近在做一个有关ftp的项目,昨天的开发过程中出了一个小错误,现在记录一下。

我再ftp服务器程序里面写了一段小程序,让ftp服务器把自己当成一个client去连接其他的ftp服务器并且发送本地文件到远程服务器。本来数据的传输已经成功,但是不明白为什么文件名总是缺少最后一个字母。比如说,Makefile传过去,变成了Makefil。后来才知道在传送一条控制信息的时候出错了。本来应该传输"STOR Makefile/r/n",但是我没有添加后面的"/r/n",结果这条控制命令变成了"STOR MakefileXXX", 其中XXX是send上一条control msg的时候buffer中残留的东西。而server是根据control msg后面的"/r/n"来解析命令的。这样server那边解析出来的文件名也就不是Makefile,而是Makefil(当然也有可能是其他的,要看XXX的内容是什么)。

你可能感兴趣的:(项目中的一个小错误)