boost1.60中,tcp socket使用的监听函数是哪一个,举例说明
时间: 2024-03-14 20:43:15 浏览: 28
在 Boost 1.60 中,TCP Socket 使用的监听函数是 `boost::asio::ip::tcp::acceptor::listen()`。它是一个非阻塞函数,用于将 acceptor 对象绑定到一个本地端点并开始监听传入的连接请求。
以下是一个使用 Boost 1.60 的 TCP Socket 监听函数的示例:
```
#include <boost/asio.hpp>
#include <iostream>
using boost::asio::ip::tcp;
int main()
{
boost::asio::io_service io_service;
tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), 1234));
while (true)
{
tcp::socket socket(io_service);
acceptor.accept(socket);
std::cout << "New connection established." << std::endl;
}
return 0;
}
```
在以上示例中,我们使用了 `boost::asio::ip::tcp::acceptor` 类来创建一个 acceptor 对象,并使用 `boost::asio::ip::tcp::endpoint` 类来指定监听的本地端点。接着,在一个无限循环中,我们使用 `acceptor.accept()` 函数来等待传入的连接请求,当有新的连接请求到达时,该函数将返回一个新的 `tcp::socket` 对象,我们就可以使用该对象与客户端进行通信了。
需要注意的是,在实际使用中,我们需要使用异步方式处理传入的连接请求,否则在等待连接请求的过程中,程序会阻塞在 `acceptor.accept()` 函数调用处,无法响应其他操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)