boost::asio::async_connect 不仅创建一个 TCP 连接,还创建两个
boost::asio::async_connect creates not only one TCP connection but two
我刚刚意识到通过TCPView查看,使用boost::asio建立的单个TCP连接会创建两个连接。其中一个使用本地端口,另一个使用所需的远程端口。为什么?这种行为正常吗?有没有办法只创建一个?
这个问题最初是在几年前发布的:
http://boost.2283326.n4.nabble.com/ASIO-tcp-socket-async-connect-connections-count-tc3901601.html#none
但没有人重播。
编辑:
我正在连接到端口 8001,这就是我在 netstat -na 中看到的:
TCP 127.0.0.1:10246 127.0.0.1:8001 ESTABLISHED 3252
TCP 127.0.0.1:10244 127.0.0.1:10245 ESTABLISHED 3252
TCP 127.0.0.1:10245 127.0.0.1:10244 ESTABLISHED 3252
谢谢!
这是两个连接,而不是三个。检查端口号。显然,出于某种原因,库与自身建立了联系。
当您创建第二个连接时,知道它是否再次发生会很有趣。
相关文章:
- 在 libcurl 连接池中预创建连接
- C++套接字客户端到 Python 服务器未创建连接
- 如何在多个线程中创建 QSql数据库连接时防止名称冲突
- 如何在没有侦听器的情况下创建 TCP 连接?
- 在线程 A 中创建一个 std::thread 对象,在线程 B 中连接
- 使用提升连接已创建的命名管道
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 无法创建栅格堆栈,因为我无法连接字符串(dir_name + 文件名)
- 尝试连接两种不同类型的结构来创建链表
- 使用OCCI-创建连接
- OCCI 19.3.0:创建连接崩溃并出现OCCIUTF16
- 尝试创建表面网格,但遇到连接问题
- 如何在GRPC客户端中创建到一个特定地址C++多个连接
- 使用QT C 为Sevaral表单创建常见的数据库连接
- boost::asio::async_connect 不仅创建一个 TCP 连接,还创建两个
- 在 opencv 中从 Mat 图像创建多个子图像?尝试为每个连接的组件创建子图像
- 正在创建多个TCP套接字连接
- 使用Winsock创建SSL连接
- 使用 vector::itrator 创建和连接 pthreads<pthread_t>
- Visual Studio 2010 在创建连接时为 Oracle OCCI 11g 提供报告"Access violation"