【发布时间】:2015-09-12 03:26:16
【问题描述】:
我正在使用套接字将文件上传到服务器。
我正在使用STOR 命令上传。我应该关闭连接以取消上传还是应该致电QUIT?
public static const STOR:String = "STOR";
public static const BINARY:String = "TYPE I";
public static const ASCII:String = "TYPE A";
public static const USER:String = "USER";
public static const PASS:String = "PASS";
public static const QUIT:String = "QUIT";
public static const CWD:String = "CWD";
public static const PWD:String = "PWD";
public static const LIST:String = "LIST";
public static const PASV:String = "PASV";
public static const RETR:String = "RETR";
public static const CD:String = "CWD";
及相关:
关闭套接字会导致某人必须重新登录吗?有注销命令吗?
【问题讨论】:
-
我对 FTP 的记忆被拍了,所以我不能自信地写一个答案,但万一其他人不能给你答案我可以告诉你,一般来说,当我写完 FTP 脚本时,我记得我已启动 2 个套接字,1 个用于文件传输,1 个用于登录并读取服务器响应等的“控制”套接字。当服务器准备好接收时,我在新线程上启动了一个新套接字以进行传输并发送
NOOPs 通过控制套接字保持控制连接处于活动状态 -
就像我说的那样,我上面的评论不是一个答案,但应该为你指明正确的方向 - 这是我不久前问的一个问题(它适用于 python,但你可能会从中得到一些关于结构的想法它)stackoverflow.com/questions/19928061/…
-
@leemo 这很有帮助。我使用的库在我上传时创建了一个套接字。然后在发送数据后将其关闭。然后我可以随意上传另一个文件。所以第一个登录连接必须仍然处于活动状态。所以听起来我可能需要发送 noops 以保持原始打开,然后关闭连接会将我注销。
-
是的,我认为这是基本想法,我在保持 Control 连接活动时遇到了很多麻烦,但这主要与 python FTP 库有关,而不是真正为我想要做的事情而设计。