Client.h 994 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef CLIENT_H_INCLUDED
  2. #define CLIENT_H_INCLUDED
  3. #ifdef WIN32
  4. #include <winsock2.h>
  5. typedef int socklen_t;
  6. #elif defined (linux)
  7. #include <sys/types.h>
  8. #include <sys/socket.h>
  9. #include <netinet/in.h>
  10. #include <arpa/inet.h>
  11. #include <unistd.h>
  12. #define INVALID_SOCKET -1
  13. #define SOCKET_ERROR -1
  14. #define closesocket(s) close (s)
  15. typedef int SOCKET;
  16. typedef struct sockaddr_in SOCKADDR_IN;
  17. typedef struct sockaddr SOCKADDR;
  18. #endif // WIN32
  19. #include <iostream>
  20. #include <pthread.h>
  21. struct Sock
  22. {
  23. SOCKADDR_IN sin;
  24. SOCKET sock;
  25. socklen_t recsize;
  26. };
  27. class Client
  28. {
  29. public:
  30. Client(std::string IP, int port);
  31. ~Client();
  32. bool rendreUtilisable();
  33. void envoyer(int *donnee, int tailleByte = 0);
  34. void recevoir(int *donnee, int tailleByte = 0);
  35. private:
  36. #ifdef WIN32
  37. WSADATA m_WSAData;
  38. #endif
  39. Sock m_csock;
  40. std::string m_IP;
  41. int m_port;
  42. int m_erreur;
  43. };
  44. #endif // CLIENT_H_INCLUDED