From 915975fba8cafaa4f0ae5730786c960bad8057a9 Mon Sep 17 00:00:00 2001 From: marcelb Date: Sun, 16 Jul 2023 20:30:59 +0200 Subject: [PATCH] Support Windows for client --- lib/tcp_socket.hpp | 13 ++++++++++--- src/tcp_socket.cpp | 13 +++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/tcp_socket.hpp b/lib/tcp_socket.hpp index 20c9993..d5a757f 100644 --- a/lib/tcp_socket.hpp +++ b/lib/tcp_socket.hpp @@ -5,12 +5,19 @@ #include #include #include -#include -#include -#include #include #include +#if __linux__ + #include + #include + #include +#elif _WIN32 + // #include + #include + #include +#endif + #include "ip.hpp" using namespace std; diff --git a/src/tcp_socket.cpp b/src/tcp_socket.cpp index e48f63c..c31563f 100644 --- a/src/tcp_socket.cpp +++ b/src/tcp_socket.cpp @@ -118,6 +118,15 @@ secure::~secure () { client::client(const string address, const ushort port, const uint timeout, SSL_CTX* securefds) { + #if _WIN32 + WSADATA wsa; + SOCKET s; + if (WSAStartup(MAKEWORD(2,2),&wsa) != 0) { + //printf("Failed. Error Code : %d",WSAGetLastError()); + throw string("[ERROR] Unable to set WinSock " + to_string(WSAGetLastError())); + } + #endif + conn = socket(AF_INET, SOCK_STREAM, 0); if (conn < 0) { throw string("[ERROR] Unable to open TCP socket "); @@ -215,6 +224,10 @@ client::client(const server *_srv, const uint timeout, SSL_CTX* securefds) { client::~client () { + #if _WIN32 + WSACleanup(); + #endif + if (ssl) { SSL_shutdown(ssl); SSL_free(ssl);