Support Windows for client
This commit is contained in:
		
							parent
							
								
									1f82e94296
								
							
						
					
					
						commit
						915975fba8
					
				| @ -5,11 +5,18 @@ | |||||||
| #include <string> | #include <string> | ||||||
| #include <vector> | #include <vector> | ||||||
| #include <string.h> | #include <string.h> | ||||||
|  | #include <openssl/ssl.h> | ||||||
|  | #include <openssl/err.h> | ||||||
|  | 
 | ||||||
|  | #if __linux__ | ||||||
|     #include <arpa/inet.h> |     #include <arpa/inet.h> | ||||||
|     #include <netdb.h> |     #include <netdb.h> | ||||||
|     #include <unistd.h> |     #include <unistd.h> | ||||||
| #include <openssl/ssl.h> | #elif _WIN32 | ||||||
| #include <openssl/err.h> |     // #include <sstream>
 | ||||||
|  |     #include <WinSock.h> | ||||||
|  |     #include <ws2tcpip.h> | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| #include "ip.hpp" | #include "ip.hpp" | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -118,6 +118,15 @@ secure::~secure () { | |||||||
| 
 | 
 | ||||||
| client::client(const string address, const ushort port, const uint timeout, SSL_CTX* securefds) { | 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); |     conn = socket(AF_INET, SOCK_STREAM, 0); | ||||||
| 	if (conn < 0) { | 	if (conn < 0) { | ||||||
|         throw string("[ERROR] Unable to open TCP socket "); |         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 () { | client::~client () { | ||||||
| 
 | 
 | ||||||
|  |     #if _WIN32 | ||||||
|  |         WSACleanup(); | ||||||
|  |     #endif | ||||||
|  | 
 | ||||||
|     if (ssl) { |     if (ssl) { | ||||||
|         SSL_shutdown(ssl); |         SSL_shutdown(ssl); | ||||||
|         SSL_free(ssl); |         SSL_free(ssl); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user