gpt4 book ai didi

c++ - 使用 boost::asio 是否有一种可移植的方法来查找空闲端口号

转载 作者:可可西里 更新时间:2023-11-01 02:30:49 31 4
gpt4 key购买 nike

我目前正在尝试找出一种方法来查找空闲端口的数量以建立连接,最好使用 boost::asio。这个端口号将被用来监听(只有这样我才能打开一个套接字)。

大概有什么办法可以做到

   tcp::resolver::query query("localhost", port); 

端口留空的地方(设置为0不起作用)

之前看到的选项都不是可移植的或高效的。

最佳答案

处理此问题的最佳方法是让操作系统在套接字绑定(bind)到端口时随机选择一个可用端口。告诉套接字绑定(bind)到端口 0,然后查询套接字以获取它绑定(bind)到的实际端口(如果成功)。不要试图提前找到一个端口然后绑定(bind)到它,这会引入竞争条件。另一个套接字可能会在您找到端口之后但在您绑定(bind)它之前占用该端口。

关于c++ - 使用 boost::asio 是否有一种可移植的方法来查找空闲端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13734486/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com