草庐IT

Some_Service

全部标签

c++ - boost::asio::io_service::poll() 的问题

以下代码:/***************************************************************************/boost::mutexm;structfunc{func(intv):n(v){}voidoperator()(){{boost::mutex::scoped_lockl(m);std::cout给出这样的输出:**beforerun**runfunction0function0,ping0function0,ping1function0,ping2function0,ping3runfunction1function1,

C++ - 为什么 std::function<some_type_t, void> 无效?

在C++中,如果我尝试这样做:std::function然后编译器会抛出错误。为什么是这样?它在许多情况下很有用。一个例子://g++-std=c++17prblm.cpp#include#includetemplateclasssome_callback{public:usingcallback_t=std::function;some_callback(callback_t_myfunc){this->myfunc=_myfunc;}callback_tmyfunc;};usingcallback_with_just_bool=some_callback;usingcallback

c++ - '从 some_type** 到 const some_type** 的无效转换'

我有一个函数需要constsome_type**作为参数(some_type是一个结构,函数需要一个指向这种类型数组的指针).我声明了一个some_type*类型的局部变量,并对其进行了初始化。然后我将该函数称为f(&some_array),编译器(gcc)说:error:invalidconversionfrom‘some_type**’to‘constsome_type**’这里有什么问题?为什么我不能将变量转换为常量? 最佳答案 参见:Whycan'tIpassachar**toafunctionwhichexpectsaco

c++ - 列出 boost io_service 中的事件处理程序

在工作中为客户端/服务器系统构建单元测试时,我遇到了一个问题,在我关闭所有事件处理程序(我知道)后我的io_service没有释放。经过一天的代码搜索后,我发现了错误的处理程序,它没有集成到我的客户端关闭程序中。我的问题是:是否有一种简单的方法来列出boostio_service中当前事件的处理程序?如果没有,为什么不呢?如有任何见解,我们将不胜感激。 最佳答案 有几个问题:簿记将变得昂贵,尤其是在具有大量操作和显着并发的系统中。即使您确实获得了列表,您也不知道它是否是最新的。我不知道这些是否是boost::asio的具体原因,但这

c++ - boost asio 中的并发读取和 async_read_some

假设在boost::asio中的套接字上启用了async_read_some服务,如果在同一套接字上调用阻塞读取会发生什么情况?一段伪代码如下:usingboost::asio::local::stream_protocol;boost::asio::io_serviceio;stream_protocol::sockets(io);s.connect(stream_protocol::endpoint(address));s.async_read_some(aBuffer,aCallback);//startasync_readboost::threadthread(boost::b

c++ - 如何将 boost::asio::tcp::io_stream 附加到我的 io_service?

我习惯使用boost::asio::ip::tcp::socket我在哪里construct他们用io_service.这很有用,因为我有一个用于所有套接字的io_service,并且这些套接字共享一个线程池。现在,我正在尝试使用boost::asio::ip::tcp::io_stream,我希望它在同一个线程池中执行所有异步工作。但是,似乎不可能construct带有外部io_service的tcp::io_stream。底层套接字确实使用了内部初始化的io_service。有没有办法让我继续使用集中管理的io_service和tcp::io_stream?我使用的是boost版本

c++ - 我需要在 TeamCity 服务器或 Team Foundation Build Service 上为 C++ 项目/VS 2013 安装什么?

我正在尝试在TC8.0.6(内部版本27767)上的VisualStudio2013解决方案中构建C++项目。我直接在服务器上安装了最新的MSBuild“MicrosoftBuildTools2013”​​(通常作为VS2013安装的一部分安装)。但是我得到以下错误:[17:05:23]VCTargetsPathisc:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\[17:05:23]PlatformToolsetisv120[17:05:23]VCMessage[17:05:23]c:\ProgramFiles(x86)\MSBuild\

c++ - 两次调用io_service::run方法有什么影响

以下架构来自boostasio文档:我知道如果我调用io_service::run方法两次(在两个单独的线程中),我将有两个线程通过异步事件多路分解器从完成事件队列中取出事件,对吗?更准确地说,我怀疑通过多次调用io_service::run方法实现的并行化。例如在处理套接字时,如果我有两个套接字绑定(bind)在同一个io_service对象上,每个套接字调用socket.async_read_some方法,它是否涉及2个注册的回调(通过async_read_some方法)可以在调用io_service::run两次时同时调用。 最佳答案

c++ - 以嵌套或递归方式(即在处理程序内)调用 asio io_service poll() 或 poll_one() 是否有效?

以嵌套或递归方式(即从处理程序内)调用asio::io_service::poll()或poll_one()是否有效?一个真正基本的测试似乎暗示这是有效的(我只在一个平台上完成了测试)但我想确保从处理程序中再次调用poll()被认为是有效的行为。我在asio文档中找不到任何相关信息,所以我希望对asio内部工作有更多经验的人可以通过解释或引用来验证这一点。基本测试:structNestedHandler{NestedHandler(std::stringname,asio::io_service*service):name(name),service(service){//empty}

spring - @Service 被构造了两次

我的Spring应用程序出现问题,我的@Service类在应用程序启动时被创建了两次。我知道这是我的配置有问题,因为我以前经历过,但我到底做错了什么?我在下面布置配置的方式有什么根本错误吗?(我省略了所有我认为不相关的内容)web.xml:myapporg.springframework.web.servlet.DispatcherServlet1myapp/contextConfigLocation/WEB-INF/myapp-config.xml/WEB-INF/myapp-security.xml/WEB-INF/myapp-mvc.xmlcom.myapp.servlet.My