问题标签 [boost-asio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - `enable_shared_from_this` 有什么用处?
我在阅读 Boost.Asio 示例时遇到了enable_shared_from_this
问题,在阅读了文档后,我仍然不知道应该如何正确使用它。有人可以给我一个例子和解释什么时候使用这个类是有意义的。
c++ - io_service,为什么以及如何使用它?
尝试学习 asio,我正在关注网站上的示例。
为什么需要 io_service 以及它究竟做了什么?为什么我需要在执行异步操作时将它发送到几乎所有其他函数,为什么它不能在第一次“绑定”之后“创建”自己。
multithreading - 何时在 asio 中使用异步操作
我什么时候应该在 boost::asio 中使用异步操作而不是在单独的线程中使用同步操作?
c++ - 有没有办法让 Asio 在没有 Boost 的情况下工作?
我知道有一个版本的 ASIO 不包含在 Boost 命名空间中,但即便如此,ASIO 也依赖于 Boost,但我想知道是否有办法让 ASIO 在不依赖 Boost 的情况下工作(因为我不能包含 Boost进入项目,原因太多了)。
c++ - 对于 boost-asio 网络编程,处理响应的最佳方法是什么?
我是网络编程的新手,尤其是异步进程。从 boost-lib 开始
我正在实现一个类,以访问 imap 服务器。一般来说,我可以发送和接收命令和响应
响应在类内的出列队列中排队。我将简单的响应行放入队列中,以供进一步处理。
现在处理排队响应的最佳方法是什么?
- 一个额外的线程来检查(基于时间)队列,是否有新条目?
- 每次将新条目推送到队列时都会进行一些回调?
如何实现和集成此回调?
也许有人对此有一个简短的例子。
谢谢
boost-asio - 谁使用 Boost ASIO?
我想知道Boost ASIO有多受欢迎。它是否被用于任何流行的网络密集型软件?
c++ - 如何检查 Boost.Asio 中的套接字是否已关闭?
检查连接的远程端是否关闭了套接字的最简单方法是什么?socket::is_open()
即使它在远程端关闭(我正在使用boost::asio::ip::tcp::socket
)也返回 true。
我可以尝试从流中读取并查看它是否成功,但我必须更改程序的逻辑以使其以这种方式工作(我不希望在检查时从流中提取数据)。
c++ - 将 streambuf 的内容复制到字符串
显然boost::asio::async_read
不喜欢字符串,因为唯一的重载boost::asio::buffer
允许我创建const_buffer
s,所以我坚持将所有内容读入 streambuf。
现在我想将 streambuf 的内容复制到一个字符串中,但它显然只支持写入 char* ( sgetn()
),使用 streambuf 创建一个 istream 并使用getline()
.
有没有其他方法可以在不过度复制的情况下创建带有 streambufs 内容的字符串?
serial-port - 更改 boost::asio::serial_port 的 DCB 结构
我想使用boost::asio::serial_port::set_option
函数禁用 RTSControl。并且还可以提高或降低DTR
线?
标准选项很好用,但我不知道如何改变
DCB
结构,或者如何控制 RS232 信号线。
c++ - 如何发送 std::vector使用 Boost::Asio?
在一天的大部分时间里,我一直在努力实现这一目标,我真诚地感谢任何帮助。我的两个应用程序、客户端和服务器都开始抛出“向量下标超出范围”异常。
如何正确地做这件事?
还在努力解决这个问题,有人吗?
据我所知,我应该创建一个
boost::asio::basic_stream_socket stream;
然后调用:
stream.send(boost::asio::buffer(data));
?
我想完全有可能异步进行吗?basic_stream_socket::send()
: vs. basic_stream_socket::write_some()
vs.之间有什么区别
basic_stream_socket::async_write_some()
?
basic_stream_socket::receive()
对baic_stream_socket::read_some()
对 对basic_stream_socket::async_read_some()
?
我假设send()
&receive()
是我希望确保 100% 的数据被发送/接收时可以调用的方法 - 以阻塞套接字为代价?
我假设write_some()
&read_some()
是当我不确定是否 100% 的数据被发送/接收时我可以调用的方法 - 同时仍然阻塞套接字?
我假设async_read_some()
&async_write_some()
是不阻塞套接字的方法,它们可以读/写任何东西?