草庐IT

asio-acceptor

全部标签

c++ - 如何使用 boost::asio 将 URL 转换为 IP 地址?

所以我需要某种方法将给定的Protocol://URLorIP:Port字符串转换为字符串ipintport如何做这样的事情使用boostASIO和BoostRegex?或者是否有可能-使用C++NetLib获取IP(增强候选)-注意-我们不需要长连接-只需要IP。所以我目前使用这样的代码进行解析#include#include#includeintmain(intargc,char**argv){if(argcvalues;boost::regexexpression(//protohostport"^(\?:([^:/\?#]+)://)\?(\\w+[^/\?#:]*)(\?::

c++ - 使用boost asio的线程池

我正在尝试使用boost::asio创建一个有限的线程池类。但是我被困在某一点上,有人可以帮助我吗?唯一的问题是我应该在哪里减少计数器?代码没有按预期工作。问题是我不知道我的线程什么时候完成执行,以及我如何知道它已经返回到池中#include#include#include#include#include#includeusingnamespacestd;usingnamespaceboost;classThreadPool{staticintcount;intNoOfThread;thread_groupgrp;mutexmutex_;asio::io_serviceio_servi

c++ - 使用boost asio的线程池

我正在尝试使用boost::asio创建一个有限的线程池类。但是我被困在某一点上,有人可以帮助我吗?唯一的问题是我应该在哪里减少计数器?代码没有按预期工作。问题是我不知道我的线程什么时候完成执行,以及我如何知道它已经返回到池中#include#include#include#include#include#includeusingnamespacestd;usingnamespaceboost;classThreadPool{staticintcount;intNoOfThread;thread_groupgrp;mutexmutex_;asio::io_serviceio_servi

c++ - 需要一些关于同步和异步 asio 操作的说明

据我所知,同步和异步操作的主要区别(即write()或read()vsasync_write()和async_read())前者直到操作完成-或错误才会返回,而后者则立即返回。由于异步操作由io_service.run()控制,该操作在受控操作完成之前不会完成。在我看来,在顺序操作中,与TCP/IP连接所涉及的协议(protocol)(如POP3)一样,其中的操作是一个序列,例如:C:S:Ok.C:User...S:Ok.C:PasswordS:Ok.C:CommandS:answerC:CommandS:answer...C:byeS:同步/异步运算符的区别没有多大意义。当然,在这两

c++ - 需要一些关于同步和异步 asio 操作的说明

据我所知,同步和异步操作的主要区别(即write()或read()vsasync_write()和async_read())前者直到操作完成-或错误才会返回,而后者则立即返回。由于异步操作由io_service.run()控制,该操作在受控操作完成之前不会完成。在我看来,在顺序操作中,与TCP/IP连接所涉及的协议(protocol)(如POP3)一样,其中的操作是一个序列,例如:C:S:Ok.C:User...S:Ok.C:PasswordS:Ok.C:CommandS:answerC:CommandS:answer...C:byeS:同步/异步运算符的区别没有多大意义。当然,在这两

c++ - 使用 Boost Asio 异步等待文件描述符

我正在尝试将D-Bus与我的boost::asio应用程序集成。D-Bus有一个API可以枚举一组Unix文件描述符(主要是套接字,但也可以是FIFO)以进行监视。当这些描述符有东西要读取时,我应该通知D-BusAPI,以便它可以读取它们并执行它。目前我正在这样做:usingboost::asio::posix::stream_descriptor;voidread_handle(stream_descriptor*desc,constboost::system::error_code&ec,std::size_tbytes_read){if(!ec){stream_descripto

c++ - 使用 Boost Asio 异步等待文件描述符

我正在尝试将D-Bus与我的boost::asio应用程序集成。D-Bus有一个API可以枚举一组Unix文件描述符(主要是套接字,但也可以是FIFO)以进行监视。当这些描述符有东西要读取时,我应该通知D-BusAPI,以便它可以读取它们并执行它。目前我正在这样做:usingboost::asio::posix::stream_descriptor;voidread_handle(stream_descriptor*desc,constboost::system::error_code&ec,std::size_tbytes_read){if(!ec){stream_descripto

boost库中优秀的网络库asio

文章目录一、须知二、ASIO三、我们将从研究同步操作开始四、当使用异步操作时,会发生不同的事件序列五、Proactor模型六、常用内容七、C++建立本地网络服务器(Boost.Asio库)1.服务器用例1.建造(Build)2.聆听(Listen)3.处理(Operation)4.异步(Async)八、简易并发服务器类总诉一、须知开发大型项目,肯定需要使用一些框架,这些框架可以由你自己亲自手工实现,也可以直接引用第三方库。1、自己实现框架优点:程序的所有细节都能非常清楚的掌握。缺点:工作量大、难度高。2、引用第三方库优点:选择一个稳定、靠谱的第三方框架,将很大程度降低工作量、提高开发效率,将精

c++ - Boost.Asio async_send 问题

我将Boost.Asio用于我正在编写的服务器应用程序。async_send要求调用方保留对正在发送的数据的所有权,直到数据发送成功。这意味着我的代码(如下所示)将失败,而且确实如此,因为data将不再是有效对象。voidfunc(){std::vectordata;//...//filldatawithstuff//...socket.async_send(boost::asio::buffer(data),handler);}所以我的解决方案是做这样的事情:std::vectordata;voidfunc(){//...//filldatawithstuff//...socket.

c++ - 提升 :asio IPv4 address and UDP comms

问题已解决-请参阅底部的解决方案说明我正在尝试构建一个简单的应用程序来测试支持以太网的微Controller。我只想发送和接收小的UDP数据包。该代码使用boost::asio进行网络连接,非常简单。为了进行调试,我将所有初始化都移出了构造函数,这样我就可以检查每个步骤。这是我的东西的主体:boost::system::error_codemyError;boost::asio::ip::address_v4targetIP;targetIP.from_string("10.1.1.75",myError);//ConfigureoutputIPaddress.HACKHACK--Ha