Я пытаюсь использовать io_service из библиотеки boost asio (1.61) с socketio-client-c++, но мой код выдает исключение нарушения доступа, и после нескольких часов отладки я не мог понять, в чем причина. Исключение создается в следующем месте файла win_mutex.hpp:
void lock()
{
-> ::EnterCriticalSection(&crit_section_);
}
Код очень прост:
int main(int argc, char* argv[]) {
boost::asio::io_service io_service;
auto io_service_work = std::make_shared<boost::asio::io_service::work> (io_service);
sio::client client_;
client_.connect("http://localhost:1337");
// io_service.run();
}
Я хочу использовать io_service из main, а socketio также использует io_service внутри, что может быть причиной проблемы.
Вы можете загрузить полный проект с исходным кодом и двоичным файлом сокетио, включенным здесь: http://stackoverflow-sehe.s3.amazonaws.com/7f1afa6a-883f-4941-8371-31ccbd8514a5/socket-io.zip ¹
Любое предложение?
¹ ссылка отредактирована; ссылок (было 88М, сейчас 443К)