#sockets #boost #buffer #boost-asio #ogre
#сокеты #повышение #буфер #boost-asio #ogre
Вопрос:
Я получаю изображение из Ogre rendertaget.
Я получаю пиксельный блок изображения :
Ogre::RenderTarget *rt = _window;
rt->update();
int width = rt->getWidth();
int height = rt->getHeight();
std::cout << "width=" << width << std::endl;
std::cout << "height=" << height << std::endl;
uchar *data = new uchar[width * height * 3];
PixelBox pb(width, height, 1, PF_BYTE_RGB, data);
rt->copyContentsToMemory(pb);
После этого я хочу получить pb.data (это Ogre::uchar), записать его в буфер и отправить через сокет с использованием boost. И не вижу, как это сделать.
Спасибо.
Ответ №1:
Посмотрите на клиент http sync для примера. Нужный вам код будет выглядеть следующим образом:
boost::asio::streambuf request;
std::ostream request_stream(amp;request);
request_stream << pb;
boost::asio::write(socket, request);