Boost Asio总结(12)class basic_socket_acceptor
1. 对应socket api的accept()函数,用于服务端在指定的端口接收连接。
eg.
boost::asio::ip::tcp::acceptor acceptor(my_context);boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), 12345);acceptor.open(endpoint.protocol());acceptor.bind(endpoint);
1.1
template <typename Protocol, typename Executor>
class basic_socket_acceptor: public socket_base
{void listen(int backlog = socket_base::max_listen_connections){boost::system::error_code ec;impl_.get_service().listen(impl_.get_implementation(), backlog, ec);boost::asio::detail::throw_error(ec, "listen");}BOOST_ASIO_SYNC_OP_VOID close(boost::system::error_code& ec){impl_.get_service().close(impl_.get_implementation(), ec);BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);}BOOST_ASIO_SYNC_OP_VOID cancel(boost::system::error_code& ec){impl_.get_service().cancel(impl_.get_implementation(), ec);BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);}/// Set an option on the acceptor. template <typename SettableSocketOption>void set_option(const SettableSocketOption& option){boost::system::error_code ec;impl_.get_service().set_option(impl_.get_implementation(), option, ec);boost::asio::detail::throw_error(ec, "set_option");}void wait(wait_type w){boost::system::error_code ec;impl_.get_service().wait(impl_.get_implementation(), w, ec);boost::asio::detail::throw_error(ec, "wait");}template <typename WaitHandler>BOOST_ASIO_INITFN_RESULT_TYPE(WaitHandler,void (boost::system::error_code))async_wait(wait_type w, BOOST_ASIO_MOVE_ARG(WaitHandler) handler){return async_initiate<WaitHandler, void (boost::system::error_code)>(initiate_async_wait(), handler, this, w);}template <typename Protocol1, typename Executor1>void accept(basic_socket<Protocol1, Executor1>& peer,typename enable_if<is_convertible<Protocol, Protocol1>::value>::type* = 0){boost::system::error_code ec;impl_.get_service().accept(impl_.get_implementation(),peer, static_cast<endpoint_type*>(0), ec);boost::asio::detail::throw_error(ec, "accept");}
Boost Asio总结(12)class basic_socket_acceptor相关推荐
- boost asio io_service学习笔记
转自:http://hi.baidu.com/jrckkyy/blog/item/e86835d61e60722506088b6a.html 构造函数 构造函数的主要动作就是调用CreateIoCom ...
- 网上收集下boost::asio发送与传输相关的几个函数,老是忘记
刚连接上:调用async_accept 1 boost::shared_ptr<tcp::socket> spMySocket(new tcp::socket(m_ioservice)); ...
- boost asio 应用方法学(二)——深入框架
要用好它,就必须先了解它,而且不能停止于表面,必须深入到内部.而了解一件事物,先要了解它的框架,再了解它的细节.了解了框架,我们就有了提纲挈领的认识. 关于 boost asio 框架结构,在其文档中 ...
- boost::asio译文
boost::asio译文 Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布( ...
- Boost.Asio入门
原文地址:https://mmoaay.gitbooks.io/boost-asio-cpp-network-programming-chinese/content/Chapter1.html Boo ...
- Boost.Asio技术文档汇总
Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_ ...
- boost.asio系列——io_service
IO模型 io_service对象是asio框架中的调度器,所有异步io事件都是通过它来分发处理的(io对象的构造函数中都需要传入一个io_service对象). asio::io_service i ...
- 基于boost asio实现的支持ssl的通用socket框架
情景分析 现已存在一个可用稳定的异步客户端类http_client_base,该类基于boost asio实现了连接服务器,发送请求,获取响应和解析http数据等操作,该类的大致实现框架如下 ...
- boost.asio学习-----reslover 域名解析
将域名解析为ip地址并输出: 1 #include "stdafx.h" 2 #include "boost/asio.hpp" 3 #include < ...
最新文章
- python基础课程第12章,Python基础教程学习笔记 | 第12章 | 图形用户界面
- 题目:16版.雇员的工作职责(一)
- 关于MQTT、HTTP、WebService
- 第四章:变量、作用域和内存问题
- tensorflow实现残差网络(mnist数据集)
- 屏蔽Codeforces做题时的Problem tags提示
- HTML5 WebGame开源工具之impactjs
- 局域网 访问计算机 软件,局域网查看工具
- 数学建模 计算机,计算机数学建模.pdf
- 元宇宙需要“基建狂魔”
- DataGridView控件绑定数据源时:用户sa登录失败
- 如何统计各个分发平台的下载数据
- 手机蓝牙耳机什么牌子的好?618性价比超高的蓝牙耳机推荐
- WIN10教育版激活方法
- JavaScript 判断浏览器类型及32位64位
- java icon显示图片_java显示ico格式图片
- 关于BIM模型的精度,你知道多少?
- 记一次Spring cloud和Spring boot版本不一致导致项目启动失败的解决办法!!
- 八、kubernetes Pod控制器
- ElasticSearch最全分词器比较及使用方法
热门文章
- RESTful Web 服务 - 资源
- Python 使用正则表达式中的 /b 的时候出现了问题
- 数据结构-简单实现二叉树的先序、中序、后序遍历(java)
- “双碳”目标下新型数据中心的方向
- java面试题在线做_java考试题目及答案也可以当面试题
- python量化投资培训清华大学深研院_GitHub - CatsJuice/quantitative-investment-learning: 使用Python进行量化投资的学习报告...
- Python:一行代码将以e为结尾的科学计算法类型的数值转为小数点类型数值
- Py之smtplib:smtplib(aiosmtplib)的简介、安装、使用方法之详细攻略
- 朴素贝叶斯分类器(Navie Bayesian Classifier)中的几个要点(一)
- 已解决:Windows下Anaconda3卸载+下载+安装教程+tensorflow+keras+jupyternotebook