2023 年第 29 周。
gopl exercise 8.2 ftp server
实现简单的 ftp server, 支持 cd, ls, get, quit 命令。练习基本的网络编程,也对 FTP 协议中控制连接和数据连接的概念有了更具体的理解。
用来测试的 client 程序,先后尝试了 ftp, lftp, FileZilla, 最后在 lftp 下测试成功。主要遇到的问题是, server 实现很简单,没有支持 ssl/tls 和 active mode, 遇到 LPRT 直接返回 “503 Use PASV instead”, 强制切换到 passive 模式,而 ftp command 在收到 503 后似乎并不切换模式,导致交互不能继续。