草庐IT

asio-acceptor

全部标签

android - 如何在 Android NDK 中使用 Asio(独立于 Boost)?

Asio(没有Boost)应该只与标题一起使用,对吗?Bydefault,Asioisaheader-onlylibrary.(http://think-async.com)我知道Asio在内部仍然依赖于Boost。这是我的设置。Android.mkLOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCAL_MODULE:=gatelibLOCAL_SRC_FILES:=gatelib.cppLOCAL_C_INCLUDES+=/cygdrive/l/asio-1.5.3/includeLOCAL_C_INCLUDES+=/cygdrive/l

android - Asio 或 Boost.Asio 可以在 iPhone 或 Android 上运行吗?

Asio或Boost.Asio可以用于iPhone或Android开发吗?我正在考虑使用它,这样我就不需要为我的每个目标平台使用不同的网络库。 最佳答案 您应该抽象您的网络类以使用API提供的网络类 关于android-Asio或Boost.Asio可以在iPhone或Android上运行吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3060296/

c++ - boost::asio::acceptor - 在旧连接仍然打开时接受新的传入连接

我正在编写基于boostasio的代理服务器。在负责接受从浏览器到代理服务器的传入连接的代码部分,我面临着我不完全理解的行为。所以-我正在使用下一个构造函数创建接受器对象:_acceptor(_io_service,boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),port),true)从这里开始收听(start_accept):_new_connection.reset(newconnection(*_io_services.front(),_connection_id));_acceptor.async_accept

c++ - 如何使用 boost::asio 即时更改串行端口速度(或如何确定硬件缓冲区是否为空)?

我在使用boost::asio和boost::asio::serial_port设备时遇到了一个特殊问题。代码终于可以很好地处理异步读取和其他内容,但我不知道如何即时更改串行端口的速度。我现在想做的只是告诉连接到我的串行端口的设备将串行端口速度更改为38400波特,然后我通过以下方式将我的计算机串行端口设置为相同的速度:port_.set_option(boost::asio::serial_port_base::baud_rate(rate));但真正发生的是,如果我执行set_option部分,设备永远不会收到更改速度的命令。如果我不执行set_option部分,设备会正确改变速度

c++ - boost asio 套接字是否有适当的 RAII 清理

我尝试查看源代码,但无法浏览那么多模板代码。基本上:这是文档所说的(对于close()):RemarksForportablebehaviourwithrespecttogracefulclosureofaconnectedsocket,callshutdown()beforeclosingthesocket.我可以手动完成,但如果可能的话,依靠RAII会更好。因此,如果套接字超出范围,我是否需要对其调用shutdown()和close(),或者它会自动完成? 最佳答案 可以依靠套接字使用RAII执行适当的清理。当一个IO对象,比如

c++ - boost.asio 套接字接收/发送功能不好吗?

DatamaybereadfromorwrittentoaconnectedTCPsocketusingthereceive(),async_receive(),send()orasync_send()memberfunctions.However,asthesecouldresultinshortwritesorreads,anapplicationwilltypicallyusethefollowingoperationsinstead:read(),async_read(),write()andasync_write().我真的不明白read()、async_read()、wri

c++ - 动态大小的 boost::asio::buffer

我正在像这样从boost::asio::ip::udp::socket读取数据:usingboost::asio::ip::udp;//...charrecv_buf[128];udp::endpointsender_endpoint;size_tlen=socket.receive_from(boost::asio::buffer(recv_buf),sender_endpoint);现在,这工作得很好,但我现在能够接收的最大字符数是127。但是我遇到了一个问题,因为我需要接受一些长度可能变化很大的数据输入(并且是例如,不是带有前缀header的明确定义的长度)。对此的解决方案是动态

c++ - 什么是 boost::asio::ssl::context::load_verify_file 以及如何使用它?

有少量的boost::asio::ssl在线小型C++教育代码库。在boost::asio::ssl::context::load_verify_file上就更少了所以我从here找到了一个修改最少的代码-使用boost1.47.0编译和运行:#include#include#include#include#include#include#includeclassclient{public:client(boost::asio::io_service&io_service,boost::asio::ssl::context&context,boost::asio::ip::tcp::r

c++ - 如何使用 Boost.Asio 解析主机(仅)?

根据documentationboost::asio::ip::tcp::resolver::query为了解析它应该接收服务的主机如果我想解析与端口无关的主机怎么办?我到底应该怎么做?应该我指定虚拟端口? 最佳答案 在onepostintheboostmailinglist其他人似乎是这样做的(复制、重新格式化、更改服务编号,没有别的):namespacebai=boost::asio::ip;bai::tcp::endpointep(bai::address_v4(0xD155AB64),0);//209.85.171.100:

c++ - Boost asio ConstBufferSequence - C++ 模板

我希望获得有关C++模板的一些指导。我一直在使用boost::asio库通过TCP进行通信。到目前为止,我一直在使用内置于boost::asio库中的存储容器。例如:boost::arraybuf;boost::system::error_codeerror;size_tlen=socket.read_some(boost::asio::buffer(buf),error);要从套接字读取数据,我只需将boost::asio::buffer类型的缓冲区包裹在我的boost::array对象周围。这工作正常,但现在我想在相反的方向工作。也就是说,我想写回套接字,从我已有的一些自定义存储类