如何指示 STOR ftp 结束

问题描述 投票:0回答:0

我正在用Lua编写一个FTP客户端,由于一些限制,我只能使用套接字连接到FTP服务器(我不能使用任何特定的库)。当文件完全发送后,我的程序关闭了数据套接字,但随后我在 FTP 服务器上收到错误消息:

[ERROR] recv: connection reset by peer; [ERROR] shutdown: Socket is not connected
。我应该如何在不在服务器上引发错误的情况下完成文件传输?

这是我在 Lua 上使用的代码:

    function sendData(data)
        if data_skt == nil then
            error("An error occurred during data sending.")
        end
        return Socket.send(data_skt, data)
    end

    function closeDataSocket()
        Socket.close(data_skt)
        data_skt = nil
    end

    (...)

    consoleWrite("Transfering " .. filename .. "...\n")
    input = io.open(client_dir..filename,FREAD)
    local filesize = io.size(input)
    local i = 0
    while i < filesize do
        packet_size = math.min(524288,filesize-i)
        i = i + sendData(io.read(input,i,packet_size))
    end
    closeDataSocket()
    io.close(input)
    recvResponse()
    recvResponse()
    enterPassiveMode()
    listServerDirectory()
lua ftp 3ds
© www.soinside.com 2019 - 2024. All rights reserved.