Serveur.h 1015 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef SERVEUR_H_INCLUDED
  2. #define SERVEUR_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. #define NBR_CLIENT 2
  21. struct Sock
  22. {
  23. SOCKADDR_IN sin;
  24. SOCKET sock;
  25. socklen_t recsize;
  26. };
  27. class Serveur
  28. {
  29. public:
  30. Serveur(int port);
  31. ~Serveur();
  32. bool rendreUtilisable();
  33. void envoyer(int *donnee, int indice, int tailleByte = 0);
  34. void recevoir(int *donnee, int indice, int tailleByte = 0);
  35. private:
  36. #ifdef WIN32
  37. WSADATA m_WSAData;
  38. #endif
  39. Sock m_sock;
  40. Sock m_csock[NBR_CLIENT];
  41. int m_port;
  42. int m_erreur;
  43. };
  44. #endif // SERVEUR_H_INCLUDED