Вам необходимо вызвать метод send (), используя экземпляр клиента; различные перегрузки задокументированы здесь . РЕДАКТИРОВАТЬ: Я вижу, что вы уже звоните, но не в том месте. Поскольку он находится в обработчике сообщений on, он будет отправлять только при получении сообщения. И код сервера сам по себе не отправляет никаких сообщений, поэтому отправка в клиенте никогда не сработает. Пример websocketpp помещает send в открытый обработчик, но помимо демонстрации это довольно бесполезный вариант использования.
Чаще всего вы хотите вызывать send прямо из кода вашего приложения. Сложность заключается в том, как согласовать тот факт, что вам нужно вызвать run (), прежде чем вы сможете что-либо делать с клиентом, а run - это блокирующий вызов (что означает, что вы не можете вызывать send после). Ответ на это - иметь один поток, предназначенный для вызова run (), который позволяет вам вызывать send () в основном потоке (или в любом другом потоке, который вы хотите).
Поскольку вы говорите, что вы новичок в C ++ Я бы посоветовал сначала изучить потоки: узнать, как их запускать и корректно останавливать, а также узнать о безопасности потоков. Есть несколько способов использовать потоки в C ++, но в этом случае я бы рекомендовал взглянуть на std :: thread.
Как только вы поймете, как использовать потоки в C ++, попробуйте встроить это в свое приложение . В конце концов, было бы неплохо создать класс для вашего клиента, который имеет дело с потоком и отправкой сообщений et c.
Как только вы получите что-то работающее, я бы рекомендовал прочитать websocketpp FAQ) , в частности, раздел «Как полностью выйти из программы на основе транспорта Asio».