Ser*_*gey 5 c++ windows ftp network-programming
我正在做一个小型ftp客户端,用于从ftp接收一些大文件.我在RFC中读过,ABOR命令对于服务器来说非常有问题.即使在通过控制连接发送ABOR之后,我看到的几乎所有服务器都会继续发送数据.在关闭控制连接时也可能导致关闭数据传输(在70%的测试中).在推送ABOR数据包之后,服务器只发送FIN数据包.在一些字节停止接收并且不丢失控制连接的最佳方法是什么?FlashFXP可以在所有类型的连接延迟和服务器上执行此操作.在调查TCP流量时,我发现了标准的ftp rfc流量.
但在我的情况下,使用这种技术中止转移仍然没有成功:
1)shutdown(passive_socket,SD_BOTH)
2)closesocket(passive_socket);
3)发送(control_socket,"ABOR\r \n")
4)recv(control_socket) - 停滞在这里
谢谢
"ABOR\r \n"命令应作为带外数据发送.如果是send() -
send(control_socket, "ABOR\r\n", 6, MSG_OOB);
Run Code Online (Sandbox Code Playgroud)
recv()代码426转移中止后的一段时间.数据连接已关闭.
如果您无法获得成功转移,以下链接会更有帮助:http://www.developer.nokia.com/Community/Discussion/showthread.php? 134079-Telnet-quot-Interrupt-Process-quot-(IP )信号放大器,Telnet的QUOT-同步-QUOT