在C / C ++中检查打开的端口

时间:2010-06-16 20:13:29

标签: c++ c sockets network-programming

关于验证套接字端口的可访问性和可访问性的主题,已经other questions

如何在C / C ++中动态查找端口?

我想要完成的基本过程是:

  1. 客户启动
  2. 客户端找到开放端口XYZ并侦听它。
  3. 客户端通过UDP数据报将基本的“我在这里”消息发送到具有端口信息的服务器
  4. 客户端和服务器可以通信。
  5. 我知道如果您选择一个任意端口号并尝试bind,您可以完成类似的操作。如果失败,请递增数字并再次尝试,直到成功“绑定”。

    有更优雅的方法吗?这看起来很糟糕。

1 个答案:

答案 0 :(得分:12)

如果绑定到端口0,将分配随机端口。然后getsockname()可用于找出实际使用的端口。