Я использовал базовый пример клиента для подключения к веб-сокету (https://gist.github.com/zaphoyd/6021634), который прекрасно работает, и я могу отправить сообщение с помощью функций on_open или on_message, но я не могу отправитьсообщение работающему сокету.
Код on_open () выглядит следующим образом:
void on_open(wsclient* c, websocketpp::connection_hdl hdl)
{
websocketpp::lib::error_code ec;
json::value jmsg = json::value();
jmsg[to_string_t("event")] = json::value(to_string_t("subscribe"));
jmsg[to_string_t("channel")] = json::value(to_string_t("ticker"));
jmsg[to_string_t("symbol")] = json::value(to_string_t("tBTCUSD"));
std::string msg = to_utf8string(jmsg.serialize());
c->send(hdl, msg, websocketpp::frame::opcode::text);
c->get_alog().write(websocketpp::log::alevel::app, "Sent Message: " + msg);
}
приведенный выше пример работает, но я хотел бы иметь вызываемую функцию.
Я вижу функцию .send () в клиенте, но он запрашивает connection_hdl, который я, похоже, могу получить только в обработчике.
Может кто-нибудь дать мне разъяснение?
Заранее спасибо!