Я использую Boost::asio для реализации клиент-серверного приложения. Приведенный ниже клиентский код используется для подключения к удаленному серверу.
try
{
boost::asio::io_service m_io_service;
boost::asio::ip::tcp::socket m_socket(m_io_service);
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 17);
m_socket.connect(endpoint);
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
На стороне клиента я хочу проверить, активно ли соединение. Функция "m_socket.is_open();
" не работает. Когда сокет сервера закрыт, "m_socket.is_open();
" по-прежнему возвращает true на стороне клиента. Есть ли способ проверить подключение?