Чтение одного байта с помощью Asio :: read - PullRequest
3 голосов
/ 26 июля 2010

Можно ли прочитать один байт с помощью asio :: read?

Я получаю однобайтовый ответ, и использование текущего буферизованного кода кажется расточительным:

        //Read the 1 byte reply
        char buffer[1];
        size_t bytesRead = asio::read(s, asio::buffer(buffer, 1));
        if(bytesRead < 1) return false;

Спасибо.

Ответы [ 2 ]

2 голосов
/ 27 июля 2010

Нет, передача буфера в один байт - единственный путь.

Также это не расточительно. Что вы беспокоитесь о потере?

0 голосов
/ 26 июля 2010

boost :: asio реализован поверх реализованной в Windows реализации ввода-вывода TCP Winsock.В такой реализации нет способа обойти буферы и т. Д.

...