Advertisement
captainIBM

Untitled

Dec 22nd, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #if defined (WIN32)
  2.     #include <winsock2.h>
  3.     typedef int socklen_t;
  4. #elif defined (linux)
  5.     #include <sys/types.h>
  6.     #include <sys/socket.h>
  7.     #include <netinet/in.h>
  8.     #include <arpa/inet.h>
  9.     #include <unistd.h>
  10.     #define INVALID_SOCKET -1
  11.     #define SOCKET_ERROR -1
  12.     #define closesocket(s) close(s)
  13.     typedef int SOCKET;
  14.     typedef struct sockaddr_in SOCKADDR_IN;
  15.     typedef struct sockaddr SOCKADDR;
  16. #endif
  17.  
  18. #include <stdio.h>
  19. #include <stdlib.h>
  20. #define PORT 23
  21.  
  22.  
  23.  
  24. int main(void)
  25. {
  26.     #if defined (WIN32)
  27.         WSADATA WSAData;
  28.         int erreur = WSAStartup(MAKEWORD(2,2), &WSAData);
  29.     #else
  30.         int erreur = 0;
  31.     #endif
  32.  
  33.     SOCKET sock;
  34.     SOCKADDR_IN sin;
  35.  
  36.     if(!erreur)
  37.     {
  38.         /* Création de la socket */
  39.         sock = socket(AF_INET, SOCK_STREAM, 0);
  40.  
  41.         /* Configuration de la connexion */
  42.         sin.sin_addr.s_addr = inet_addr("127.0.0.1");
  43.         sin.sin_family = AF_INET;
  44.         sin.sin_port = htons(PORT);
  45.  
  46.         /* Si le client arrive à se connecter */
  47.         if(connect(sock, (SOCKADDR*)&sin, sizeof(sin)) != SOCKET_ERROR){
  48.             printf("Connexion à %s sur le port %d\n", inet_ntoa(sin.sin_addr), htons(sin.sin_port));
  49.             system("PAUSE");
  50.         }
  51.         else
  52.             printf("Impossible de se connecter\n");
  53.  
  54.         /* On ferme la socket précédemment ouverte */
  55.         closesocket(sock);
  56.  
  57.         #if defined (WIN32)
  58.             WSACleanup();
  59.         #endif
  60.     }
  61.  
  62.     return EXIT_SUCCESS;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement