我使用了基本的客户端示例连接到可以完美运行的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,我似乎只能在处理程序中才能获得它。
有人可以给我一个澄清吗?
谢谢!