#include "easywsclient.hpp" //#include "easywsclient.cpp" // <-- include only if you don't want compile separately #ifdef _WIN32 #pragma comment( lib, "ws2_32" ) #include #endif #include #include #include using easywsclient::WebSocket; static WebSocket::pointer ws = NULL; void handle_message(const std::string & message) { printf(">>> %s\n", message.c_str()); if (message == "world") { ws->close(); } } int main() { #ifdef _WIN32 INT rc; WSADATA wsaData; rc = WSAStartup(MAKEWORD(2, 2), &wsaData); if (rc) { printf("WSAStartup Failed.\n"); return 1; } #endif std::map headers; headers.insert(std::make_pair("Authorization", "Bearer 123")); std::string origin = "https://example.com"; ws = WebSocket::from_url("ws://localhost:8126/foo", origin, headers); assert(ws); ws->send("goodbye"); ws->send("hello"); while (ws->getReadyState() != WebSocket::CLOSED) { ws->poll(); ws->dispatch(handle_message); } delete ws; #ifdef _WIN32 WSACleanup(); #endif return 0; }