Я хочу использовать «каждый дизайн io_service для рабочего потока» в моей программе. Но я не могу повторно использовать гнездо unix:boost asio unix socket reuse
io_service io_1;
io_service io_2;
::unlink("/tmp/test");
stream_protocol::endpoint ep("/tmp/test");
stream_protocol::acceptor acceptor_1(io_1, ep, true);
stream_protocol::acceptor acceptor_2(io_2, ep, true);
io_1.run();
io_2.run();
не удалось использовать «адрес уже в использовании». Когда я открываю свой asio/basic_socket_acceptor.hpp (boost 1.46.1), я вижу описание конструктора акцептора:
Этот конструктор создает акцептор и автоматически открывает его для прослушивания новых соединений на указанной конечной точке.
@param reuse_addr, должен ли конструктор устанавливать опцию сокета socket_base :: reuse_address.
basic_socket_acceptor(boost::asio::io_service& io_service,
const endpoint_type& endpoint, bool reuse_addr = true)
Это сообщение об ошибке asio, и я должен отправить его в bugtracker, я прав?
спасибо! Реально только один акцептор. Я нашел хороший пример http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/example/http/server2/server.cpp – puchu
это нормально, что мой пример не запускает ни одного потока: исключение был брошен во втором конструкторе, и я решил не загромождать вопрос. благодаря – puchu