我正在实现一个 FTP 服务器,它还不支持 IPv6(IPv6 连接不能使用 PORT 和 PASV,它们需要使用 EPRT 和 EPSV 来指定数据连接)。
所以我只需要接受来自我的 QTcpServer 的 IPv4 连接。现在我开始听这段代码:
server->listen(QHostAddress::Any, port);
QHostAddress::Any 应该是 IPv4 任意地址,但当我指定 localhost 而不是 127.0.0.1 时,Filezilla 仍然设法使用 IPv6 进行连接。我认为 QHostAddress::Any 意味着只接受 IPv4 传入连接,但显然情况并非如此。
那么如何禁用 IPv6 连接呢?