我有一个想绑定到本地端点的 TCP 套接字。
我有两种情况:
- 将套接字连接到未使用且不等待连接的本地端点。
- 将套接字连接到上一次运行时使用/未正确关闭的本地端点。
我曾经使用传递 io_service 和端点的构造函数来初始化接收器,但是当它尝试连接到使用的端点时,接收器崩溃了。
acceptor_(io_service_, endpoint)
我做的下一件事是将构造函数更改为仅获取 io_service (承诺不会打开套接字)。
acceptor_(io_service_)
我看到 asio 有一个 bind() 函数,它将套接字与本地端点绑定。函数 bind() 有一个参数指示是否发生了错误,但对于上述两种情况,它都返回相同的错误。
boost::system::error_code ec;
acceptor_.bind(endpoint, ec);
if(ec)
{
// SOME ERROR NOTIFYING
// EDIT: error code returned is 10009
}
有没有办法连接到端点并为此类错误获取不同的错误?