1 #include "mongoose.h"
\r
4 using json = nlohmann::json;
\r
11 mg_connection *c = nullptr;
\r
15 static void cb(struct mg_connection *c, int ev, void *ev_data, void *fn_data) {
\r
16 if (ev == MG_EV_WS_OPEN) {
\r
17 } else if (ev == MG_EV_WS_MSG) {
\r
18 struct mg_ws_message *wm = (struct mg_ws_message *) ev_data;
\r
19 std::string jsonStr(wm->data.ptr, wm->data.len);
\r
20 auto msg = json::parse(jsonStr);
\r
21 int op = msg["op"].get<int>();
\r
30 auto responseStr = response.dump();
\r
31 mg_ws_send(c, responseStr.c_str(), responseStr.size(), WEBSOCKET_OP_TEXT);
\r
35 MessageBoxA(NULL, "hura", "connected", MB_OK);
\r
39 if (ev == MG_EV_ERROR) {
\r
40 MessageBoxA(NULL, "", "Error", MB_OK);
\r
43 if (ev == MG_EV_CLOSE) {
\r
44 MessageBoxA(NULL, "", "Close", MB_OK);
\r
54 void connect(std::string address)
\r
56 c = mg_ws_connect(&mgr, address.c_str(), cb, nullptr, nullptr);
\r
62 mg_mgr_poll(&mgr, 10);
\r
65 void sendRequest(std::string requestType)
\r
67 json request = { { "op", 6 },
\r
70 { "requestType", requestType },
\r
71 { "requestId", std::to_string(NULL).c_str() }
\r
73 auto requestStr = request.dump();
\r
74 mg_ws_send(c, requestStr.c_str(), requestStr.size(), WEBSOCKET_OP_TEXT);
\r