在机器上find可用的networking端口

我试图在linux中实现一个简单的FTP服务器( EFTP协议的一个变种)。 当客户端连接并发送PASV命令时,服务器应该使用端口号进行响应,以便客户端可以连接到该端口来传输文件。 服务器如何select端口号? 我是否需要遍历从1024到65535的所有端口,直到find该进程可以绑定的端口?
我知道,调用绑定()0作为端口自动select端口绑定到,但那我怎么知道哪个端口被选中?

非常感谢。

你让系统选择你提到的0作为端口号,你调用getsockname ()来检索它的地址 – 包括端口号。