diff --git a/easywsclient.cpp b/easywsclient.cpp index 7f30dab..290344a 100644 --- a/easywsclient.cpp +++ b/easywsclient.cpp @@ -1,6 +1,8 @@ #include "easywsclient.hpp" #ifdef _WIN32 + // CRTSECURE_NO_WARNINGS for sscanf errors in MSVC2013 Express + #define CRTSECURE_NO_WARNINGS #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif @@ -203,7 +205,7 @@ class _RealWebSocket : public easywsclient::WebSocket while (txbuf.size()) { int ret; #ifdef _WIN32 - ret = ::send(sockfd, (int8_t*)&txbuf[0], txbuf.size(), 0); + ret = ::send(sockfd, (char*)&txbuf[0], txbuf.size(), 0); #else ret = ::send(sockfd, &txbuf[0], txbuf.size(), 0); #endif diff --git a/example-client-cpp11.cpp b/example-client-cpp11.cpp index 39917ec..5298c36 100644 --- a/example-client-cpp11.cpp +++ b/example-client-cpp11.cpp @@ -2,6 +2,10 @@ // g++ -std=gnu++0x example-client-cpp11.cpp -o example-client-cpp11 #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 @@ -10,6 +14,17 @@ int main() { using easywsclient::WebSocket; +#ifdef _WIN32 + INT rc; + WSADATA wsaData; + + rc = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (rc) { + printf("WSAStartup Failed.\n"); + return 1; + } +#endif + std::unique_ptr ws(WebSocket::from_url("ws://localhost:8126/foo")); assert(ws); ws->send("goodbye"); @@ -22,6 +37,9 @@ int main() if (message == "world") { wsp->close(); } }); } +#ifdef _WIN32 + WSACleanup(); +#endif // N.B. - unique_ptr will free the WebSocket instance upon return: return 0; }