boost::asio::local::stream_protocol::iostream не работает?

Ссылка на старое (от 2008 года) обсуждение:

Ошибка компиляции при попытке использовать boost::asio::local::stream_protocol::iostream

На форуме решения не было, и я столкнулся с той же проблемой, похоже.

Было ли исправление или решение для ошибки компиляции? Как я могу использовать boost::asio::local::stream_protocol::iostream?


person brandstaetter    schedule 04.05.2010    source источник


Ответы (3)


Об этой ошибке сообщили на веб-сайте Boost Trac. Крис закрыл его как недействительный и предложил использовать существующие примеры boost::asio::local::stream_protocol.

person Sam Miller    schedule 06.06.2010

Класс stream_protocol не определяет внутренний resolver_query тип . Этот тип элемента необходим для функции connect. Функция connect вызывается внутри конструктора с параметрами basic_socket_iostream. Мне кажется, что stream_protocol не должен был действовать как iostream. Если вы посмотрите на заголовок stream_protocol, вы даже увидеть #if !defined(BOOST_NO_IOSTREAM) вокруг внутреннего типа iostream. Поэтому попробуйте вместо этого использовать endpoint, socket или acceptor.

РЕДАКТИРОВАТЬ: Если вы использовали строку, попробуйте вместо этого подключиться к stream_protocol::endpoint. Использование чего-то отличного от stream_protocol::endpoint определенно приведет к этой ошибке. Если это не помогает, сначала создайте объект, а затем используйте метод connect для подключения к конечной точке.

РЕДАКТИРОВАТЬ: Для примеров того, как использовать stream_local, попробуйте официальный пример.

person ablaeul    schedule 08.05.2010
comment
Спасибо, это точно. В текущем дистрибутиве Boost есть новый пример (libs/asio/example/local/iostream_client.cpp) — к сожалению, он касается только клиента. Будет ли сервер работать аналогично или у вас есть подсказка, как это реализовать? - person brandstaetter; 10.05.2010

Почему вы не спрашиваете на указанном форуме, где они с этим вопросом? Вы также можете просмотреть нерешенные проблемы в системе Trac. Если вы не нашли проблему, создайте новую. Таким образом, вы способствуете улучшению Boost.

person Vicente Botet Escriba    schedule 04.05.2010
comment
Вы отправили сообщение в список пользователей или список разработчиков? - person Vicente Botet Escriba; 06.05.2010