Давайте посмотрим, как просто вопрос, который я могу задать. У меня есть:Способ вызова вызова из-за пределов класса
void TCPClient::test(const boost::system::error_code& ErrorCode)
{
// Anything can be here
}
, и я хотел бы назвать это из другого класса. У меня есть глобальный импульс :: thread_group, что создает поток
clientThreadGroup->create_thread(boost::bind(&TCPClient::test,client, /* this is where I need help */));
, но не уверен в том, как назвать тест, если это даже правильный путь.
Как пояснение для общего проекта, я создаю tcp-соединение между клиентом и сервером и получаю метод «отправить» (в другом классе), который будет вызываться, когда необходимо отправить данные. Моя текущая цель - иметь возможность вызывать тест (в котором в настоящее время имеется async_send) и отправлять информацию через сокет, который уже настроен при вызове. Тем не менее, я открыт для других идей о том, как реализовать и, вероятно, будет работать над созданием модели потребителя/производителя, если это окажется слишком сложным.
Я могу использовать либо для этого проекта, но позже мне придется реализовать прослушивание, чтобы иметь возможность получать управляющие пакеты с сервера позже, поэтому, если есть какие-либо рекомендации по использованию метода, я был бы очень признателен.
'client' ожидает 1 аргумент типа' error_code', поэтому вы должны передать его 'bind':' bind (& TCPClient :: test, client, some_error) '. –
[This] (http://blog.think-async.com/2010/04/bind-illustrated.html) - иллюстрированный пример, который может помочь с пониманием 'bind'. –
@IgorR. Это коды ошибок, с которыми у меня возникают проблемы. Если у них есть руководство и как использовать их в этой ситуации, я был бы очень признателен, поскольку я не смог ничего найти (возможно, потому, что я не знаю конкретно, что я ищу). – penguin