Websocketpp在套接字运行后发送消息

时间:2018-09-16 12:20:40

标签: c++ websocket

我使用了基本的客户端示例连接到可以完美运行的websocket(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,我似乎只能在处理程序中才能获得它。

有人可以给我一个澄清吗?

谢谢!

0 个答案:

没有答案