C++ FTP 使用套接字实现 PORT 命令

C++ FTP PORT command implementation using sockets

我正在尝试为我的 cpp ftp 客户端实现活动模式。

我试图实现简单的 LISTEN 服务器,netstat -ant 说它正在侦听 0.0.0.0:port(例如 1025)。

在客户端中,当我发送 PORT 0,0,0,0,4 时,1\r\n 服务器回复代码 500 - 非法端口命令。

我还应该做些什么才能让它发挥作用?谢谢

更多信息

我的服务器代码: ..sin_addr.s_addr = INADDR_ANY;我可以将 inaddr_any 更改为仅 "running" 的 IP,例如filezilla 与 192.168.1.13 上的服务器连接 - 当我将 192.168.1.13 用作 inet_addr("192.168.1.13") 它 有效 但如何设置新的 tcp 监听 ip ?它 returns 当我尝试 192.168.1.14

时出现 BIND 问题

您正在侦听 0.0.0.0,这意味着 'any',但对等方需要一个实际的 IP 地址,而不是 0.0.0.0。您需要向它发送一个 public IP 地址,它将到达您的侦听套接字。