使用INDY的TidTrivialFtpServer控件问题
使用TidTrivialFtpServer控件,从网络设备(路由器、交换机)上载配置文件并存为文本,发现有问题。
一些网络设备的配置文件较小(小于64K),上载成功。而有一个网络设备的文件较大,上载的文件在TFTP服务器生成了,并上载了刚好64K数据,然后BCB出现一个告警提示:raised exception class EIDTFTPIllegalOperation with message "Timeout",后面的数据就不继续上载了。
通过捉包来看,发现TFTP数据分块传输,当传输完127个分块(每个分块有512字节数据),TFTP服务器也发了第127个ACK后,客户端即网络设备再发第128个分块,TFTP服务器居然用第127个ACK来回应(就是用分块号127,也就是顺序号127的ACK包来回应)。
结果出现第128个包没有得到服务器的ACK回应,TFTP服务器连续发了三个分块号为127的ACK包后发出TIMEOUT数据包,而客户端还是每隔几秒发出第128个包。
这个是INDY的BUG,还是什么问题啊?请各位大侠指点。
[解决办法]
我说的是ftp服务器上的设置,看看