【问题标题】:When should 226 be sent from the FTP server?什么时候应该从 FTP 服务器发送 226?
【发布时间】:2012-12-09 07:37:50
【问题描述】:

我正在 Qt 中创建一个 FTP 服务器,但我不确定何时发送 RETR 命令的 226 成功响应代码。

我是在所有数据写入之后,数据连接socket关闭之前发送吗:

    reply(226);
    dataSocket()->disconnectFromHost();

还是在数据连接socket关闭后发送:

    dataSocket()->disconnectFromHost();
    dataSocket()->waitForDisconnected();
    reply(226);

【问题讨论】:

    标签: ftp ftp-server


    【解决方案1】:

    http://www.ietf.org/rfc/rfc959.txt

    为了防止出现竞争情况,服务器会在关闭数据连接后发送回复 (226)。

    【讨论】:

    • 谢谢。我认为waitForDisconnected是需要的,否则socket可能还没有关闭,因为disconnectFromHost是异步的。
    • @satuon:在那种情况下,是的;我不知道您使用的框架,所以没有考虑。
    猜你喜欢
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2010-09-17
    • 2011-11-25
    • 1970-01-01
    • 2010-11-01
    • 2019-05-15
    相关资源
    最近更新 更多