Websocketpp Отправить сообщение после запуска сокета - PullRequest
0 голосов
/ 16 сентября 2018

Я использовал базовый пример клиента для подключения к веб-сокету (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, который я, похоже, могу получить только в обработчике.

Может кто-нибудь дать мне разъяснение?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...