【发布时间】:2011-09-21 09:09:24
【问题描述】:
我正在做小型 ftp 客户端,用于从 ftp 接收一些大文件。我在 RFC 中读到 ABOR 命令对于服务器来说是非常有问题的。即使在通过控制连接发送 ABOR 之后,我看到的几乎所有服务器都只是继续发送数据。关闭数据传输也会导致(在 70% 的测试中)关闭控制连接。服务器只是在我推送 ABOR 数据包后发送 FIN 数据包。 在某个字节处停止接收而不丢失控制连接的最佳方法是什么? FlashFXP 在所有类型的连接延迟和服务器上都可以做到这一点。在调查 tcp 流量时,我发现了标准的 ftp rfc 流量。
但在我的情况下,使用这种技术中止传输仍然没有成功:
1) 关机(passive_socket, SD_BOTH)
2) closesocket(passive_socket);
3) 发送(control_socket,"ABOR\r\n")
4) recv(control_socket) - 停在这里
谢谢
【问题讨论】:
标签: c++ windows ftp network-programming