【发布时间】:2011-10-31 17:20:00
【问题描述】:
所以我试过了:
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 可以帮助我吗?
【问题讨论】:
-
您一次发送多少个文件(一个接一个)?您的文件通常有多大?
标签: c++ file sockets boost boost-asio