rendered paste body#ifndef _SOCK_H_#define _SOCK_H_#include <stdio.h>#include <ctype.h> //isdigit#include <stdlib.h> //atoi#include <string.h> //memset,strcpy,strlen#include <errno.h> //strerror,errno#include <fcntl.h> //close,#include <unistd.h> //sleep,typedef struct sockaddr_in SOCKADDR_IN;#ifdef WIN32#include <winsock.h>#include <windows.h>#define sleep(x) Sleep((x) * 1000)#define socketerror WSAGetLastError()#else#define closesocket(c) close(c)#include <netinet/in.h> //sockaddr_in,inet_addr,#include <sys/types.h> //socket,#include <sys/socket.h> //socket,inet_addr,send,recv,#include <arpa/inet.h> //inet_addr,#include <sys/types.h> //send,recv,#include <netdb.h> //gethostbyname,#define socketerror errno#endifclass c_sock{ private: int m_taille; //taille de recv int m_sock; //le socket SOCKADDR_IN m_sin; char m_sockerror[512]; //contien l'erreur void setsockerror(); //copi l'erreur public: c_sock(); ~c_sock(); bool init(); //initialise la socket bool setadresse(char *adresse); //défini l'ip void setport(unsigned short int port); //défini le port bool setport(char *buffer); bool connexion(); //pour se connecter bool send(char *buffer); //pour envoyer bool recv(char *buffer, int size); //pour recevoir void close(); //pour fermer la socket char* getsockerror(); //renvoi m_sockerror int gettaille(); //retourne m_taille};#endif