草庐IT

asio-acceptor

全部标签

c++ - Boost :asio? 的最佳文档

boostwebsite上提供的文档是……有限的。根据我所阅读的内容,普遍的共识是很难找到关于boost::asio库的好的文档。真的是这样吗?如果有,为什么?注意事项:我已经找到(非boost)Asiowebsite-文档看起来与boost网站上的文档相同。我知道Boost::asio是新的!我正在寻找解决方案而不是借口。编辑:有一个proposaltoaddanetworkinglibrarytostandardlibraryforTR2由Boost:asio(ChristopherKohlhoff)的作者撰写。虽然它不是boost:asio的文档,但它确实将其用作TR2提案的基础

c++ - 在 Boost.Asio 中同时使用 SSL 套接字和非 SSL 套接字?

我正在将一个库转换为Boost.Asio(到目前为止效果很好),但在设计决策方面遇到了一些障碍。Boost.Asio提供对SSL的支持,但boost::asio::ssl::stream类型必须用于套接字。我的库可以选择连接到SSL服务器或正常连接,所以我创建了一个带有两个套接字的类,如下所示:classclient:publicboost::enable_shared_from_this{public:client(boost::asio::io_service&io_service,boost::asio::ssl::context&context):socket_(io_serv

c++ - 在 Boost.Asio 中同时使用 SSL 套接字和非 SSL 套接字?

我正在将一个库转换为Boost.Asio(到目前为止效果很好),但在设计决策方面遇到了一些障碍。Boost.Asio提供对SSL的支持,但boost::asio::ssl::stream类型必须用于套接字。我的库可以选择连接到SSL服务器或正常连接,所以我创建了一个带有两个套接字的类,如下所示:classclient:publicboost::enable_shared_from_this{public:client(boost::asio::io_service&io_service,boost::asio::ssl::context&context):socket_(io_serv

c++ - 提升 asio async_write : how to not interleaving async_write calls?

这是我的实现:客户端A为客户端B发送消息服务器通过async_read适量的数据处理消息和将等待来自客户端A的新数据(为了不阻止客户端A)之后服务器会处理信息(可能会做一个mysql查询),然后使用async_write将消息发送给客户端B。问题是,如果客户端A发送消息的速度非常快,async_writes会在调用之前的async_write处理程序之前交错。有没有简单的方法可以避免这个问题?编辑1:如果客户端C在客户端A之后向客户端B发送消息,则应该会出现相同的问题...编辑2:这行得通吗?因为好像挡住了,不知道在哪里……namespacestructure{classUser{pu

c++ - 提升 asio async_write : how to not interleaving async_write calls?

这是我的实现:客户端A为客户端B发送消息服务器通过async_read适量的数据处理消息和将等待来自客户端A的新数据(为了不阻止客户端A)之后服务器会处理信息(可能会做一个mysql查询),然后使用async_write将消息发送给客户端B。问题是,如果客户端A发送消息的速度非常快,async_writes会在调用之前的async_write处理程序之前交错。有没有简单的方法可以避免这个问题?编辑1:如果客户端C在客户端A之后向客户端B发送消息,则应该会出现相同的问题...编辑2:这行得通吗?因为好像挡住了,不知道在哪里……namespacestructure{classUser{pu

c++ - 试图了解Boost.Asio定制服务实现

我正在考虑在我们当前正在使用的现有专有第三方网络协议(protocol)之上编写自定义Asio服务。根据HighscoreAsioguide的介绍,您需要实现三个类来创建自定义Asio服务:从boost::asio::basic_io_object派生的类,表示新的I/O对象。从boost::asio::io_service::service派生的类,表示已在I/O服务中注册并且可以从I/O对象访问的服务。一个不派生自表示服务实现的任何其他类的类。网络协议(protocol)实现已经提供了异步操作,并具有(阻塞)事件循环。因此,我想将其放入服务实现类中,并在内部工作线程中运行事件循环。

c++ - 试图了解Boost.Asio定制服务实现

我正在考虑在我们当前正在使用的现有专有第三方网络协议(protocol)之上编写自定义Asio服务。根据HighscoreAsioguide的介绍,您需要实现三个类来创建自定义Asio服务:从boost::asio::basic_io_object派生的类,表示新的I/O对象。从boost::asio::io_service::service派生的类,表示已在I/O服务中注册并且可以从I/O对象访问的服务。一个不派生自表示服务实现的任何其他类的类。网络协议(protocol)实现已经提供了异步操作,并具有(阻塞)事件循环。因此,我想将其放入服务实现类中,并在内部工作线程中运行事件循环。

c++ - asio::tcp::socket 的 async_read_some 和 async_receive 有什么区别?

有什么区别:boost::asio::tcp::socket::async_read_some()boost::asio::tcp::socket::async_receive()据我所知,他们的文档是相同的。我应该更喜欢哪个? 最佳答案 我相信这两者本质上是相同的。它们提供两者的原因是提供类似于iostream(具有read_some成员)和套接字(具有receive)的接口(interface)。正如PeterTseng指出的,async_receive也有接受socket_base::message_flags的重载,其中as

c++ - asio::tcp::socket 的 async_read_some 和 async_receive 有什么区别?

有什么区别:boost::asio::tcp::socket::async_read_some()boost::asio::tcp::socket::async_receive()据我所知,他们的文档是相同的。我应该更喜欢哪个? 最佳答案 我相信这两者本质上是相同的。它们提供两者的原因是提供类似于iostream(具有read_some成员)和套接字(具有receive)的接口(interface)。正如PeterTseng指出的,async_receive也有接受socket_base::message_flags的重载,其中as

c++ - std::bind 是否应该与 boost::asio 兼容?

我正在尝试调整boost::asio示例之一,以尽可能使用c++11/TR1库。原始代码如下所示:voidstart_accept(){tcp_connection::pointernew_connection=tcp_connection::create(acceptor_.get_io_service());acceptor_.async_accept(new_connection->socket(),boost::bind(&tcp_server::handle_accept,this,new_connection,boost::asio::placeholders::error