buffered_stream::buffered_stream 构造函数中的 Arg & a 是什么?
What is the Arg & a in the buffered_stream::buffered_stream constructor?
我正在考虑将它用作 tcp 流和 can 总线之间的中间缓冲区。我将缓冲区传递给与写入 can 总线有关的 API,后者使用 async_reads 获取数据。 tcp 端使用 async_writes.
写入缓冲区
当然可以。
boost::asio::streambuf sb;
// now write:
{
std::ostream os(&sb);
os << "Hello 1 2 3" << std::flush;
}
// or read:
{ std::istream is(&sb);
std::string s;
int a, b, c;
is >> s >> a >> b >> c;
}
请注意,您还可以使用连接到套接字的预配置流:
#include <boost/asio.hpp>
#include <iostream>
using boost::asio::ip::tcp;
int main() {
tcp::iostream s("localhost", "http");
s << "GET / HTTP/1.0\r\n\r\n" << std::flush;
std::cout << s.rdbuf(); // print response
}
我正在考虑将它用作 tcp 流和 can 总线之间的中间缓冲区。我将缓冲区传递给与写入 can 总线有关的 API,后者使用 async_reads 获取数据。 tcp 端使用 async_writes.
写入缓冲区当然可以。
boost::asio::streambuf sb;
// now write:
{
std::ostream os(&sb);
os << "Hello 1 2 3" << std::flush;
}
// or read:
{ std::istream is(&sb);
std::string s;
int a, b, c;
is >> s >> a >> b >> c;
}
请注意,您还可以使用连接到套接字的预配置流:
#include <boost/asio.hpp>
#include <iostream>
using boost::asio::ip::tcp;
int main() {
tcp::iostream s("localhost", "http");
s << "GET / HTTP/1.0\r\n\r\n" << std::flush;
std::cout << s.rdbuf(); // print response
}