Questions tagged «boost-asio»



9
Boost:asio的最佳文档?
boost网站上提供的文档有限。 根据我的理解,普遍的共识是,很难在boost :: asio库中找到好的文档。 真的是这样吗?如果是这样,为什么? 笔记: 我已经找到了(非增强型)Asio网站 -并且该文档看起来与boost网站上的文档相同。 我知道Boost :: asio是新的!我在寻找解决方案而不是找借口。 编辑: 有人建议将 Boost.asio(Christopher Kohlhoff)的作者编写的网络库添加到TR2的标准库中。虽然它不是boost:asio的文档,但确实将其用作TR2提案的基础。由于作者在本文档中投入了更多精力,因此我发现它在某种程度上有所帮助,即使不作为参考,也至少作为概述。
141 c++  boost  boost-asio 

2
当boost :: asio :: io_service运行方法阻塞/取消阻塞时感到困惑
作为Boost.Asio的初学者,我对感到困惑io_service::run()。如果有人可以向我解释此方法的阻止/取消阻止,我将不胜感激。文档指出: 该run()函数将阻塞,直到所有工作完成并且不再有要分派的处理程序,或者直到io_service停止为止。 多个线程可以调用该run()函数来建立线程池,线程池io_service可以从中执行处理程序。池中等待的所有线程都是等效的,并且io_service可以选择其中任何一个来调用处理程序。 从该run()函数正常退出意味着该io_service对象已停止(该stopped()函数返回true)。后续调用run(),run_one(),poll()或poll_one()将除非有预先调用立即返回reset()。 以下陈述是什么意思? [...]不再派遣处理程序[...] 在尝试了解的行为时io_service::run(),我遇到了这个示例(示例3a)。在其中,我观察到这些io_service->run()障碍并等待工作订单。 // WorkerThread invines io_service->run() void WorkerThread(boost::shared_ptr<boost::asio::io_service> io_service); void CalculateFib(size_t); boost::shared_ptr<boost::asio::io_service> io_service( new boost::asio::io_service); boost::shared_ptr<boost::asio::io_service::work> work( new boost::asio::io_service::work(*io_service)); // ... boost::thread_group worker_threads; for(int x = 0; x < 2; ++x) { worker_threads.create_thread(boost::bind(&WorkerThread, io_service)); } io_service->post( boost::bind(CalculateFib, 3)); io_service->post( boost::bind(CalculateFib, 4)); io_service->post( boost::bind(CalculateFib, 5)); work.reset(); …
88 c++  boost-asio 

4
绑定多播(UDP)套接字是什么意思?
我在具有多个网络接口的主机之间使用多播UDP。我正在使用boost :: asio,并且被接收者必须进行的2个操作所迷惑:绑定,然后加入组。 当您对加入的每个多播组进行设置时,为什么在绑定期间需要指定接口的本地地址? 姊妹问题涉及多播端口:由于在发送期间,您发送到多播地址和端口,为什么在订阅多播组期间仅指定地址,而不指定端口-在对的混乱调用中指定的端口绑定。 注意:“ join-group”是over的包装setsockopt(IP_ADD_MEMBERSHIP),如所记录的那样,可以在同一套接字上多次调用该包装以订阅不同的组(通过不同的网络?)。因此,每次我订阅一个组时,放弃绑定调用并指定端口是很有意义的。 从我看来,始终绑定到“ 0.0.0.0”并在加入组时指定接口地址,效果很好。困惑。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.