我尝试过:
int buff_length = 8192;
ifstream stream;
char* buffer = new char[buff_length];
stream.open( path.string().c_str(), ios::binary );
boost::system::error_code ignored_error;
while (stream)
{
stream.read(buffer, buff_length);
boost::asio::write(*socket, boost::asio::buffer(buffer, stream.gcount()),
boost::asio::transfer_all(), ignored_error);
}
我想知道你是如何做到的 - 如何更快地完成它?
我的应用程序要在Windows、Linux和Mac OS上运行。这就是为什么我经常使用boost的原因。我使用ab
进行测试。我希望在读取和发送文件方面能够至少提高2倍或1.5倍的速度。也许Boost::Iostream可以在某种程度上帮助我吗?