Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.63 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <winsock2.h>
  4.  
  5. typedef int socklen_t;
  6.  
  7. int main()
  8. {
  9.     WSADATA WSAData;
  10.     SOCKET serverSock, clientSock;
  11.     SOCKADDR_IN serverSin, clientSin;
  12.     socklen_t serverSinSize = sizeof(serverSin), clientSinSize = sizeof(clientSin);
  13.     int sockError;
  14.  
  15.     printf("Lancement du serveur\n");
  16.  
  17.     if(!WSAStartup(MAKEWORD(2, 2), &WSAData))
  18.     {
  19.         serverSock = socket(AF_INET, SOCK_STREAM, 0);
  20.  
  21.         if(serverSock != INVALID_SOCKET)
  22.         {
  23.             serverSin.sin_addr.s_addr = htonl(INADDR_ANY);
  24.             serverSin.sin_family = AF_INET;
  25.             serverSin.sin_port = htons(23);
  26.  
  27.             sockError = bind(serverSock, (SOCKADDR*)&serverSin, serverSinSize);
  28.  
  29.             if(sockError != SOCKET_ERROR)
  30.             {
  31.                 sockError = listen(serverSock, 5);
  32.  
  33.                 if(sockError != SOCKET_ERROR)
  34.                 {
  35.                     printf("Attente d'un client");
  36.                     clientSock = accept(serverSock, (SOCKADDR*)&clientSin, &clientSinSize);
  37.                     printf("Un client s'est connecte avec la socket %d de %s:%d\n", clientSock, inet_ntoa(clientSin.sin_addr), htons(clientSin.sin_port));
  38.                 }
  39.                 else
  40.                 {
  41.                     perror("listen error");
  42.                 }
  43.             }
  44.             else
  45.             {
  46.                 perror("bind error");
  47.             }
  48.  
  49.             closesocket(clientSock);
  50.             closesocket(serverSock);
  51.         }
  52.         else
  53.         {
  54.             perror("socket error");
  55.         }
  56.  
  57.         WSACleanup();
  58.     }
  59.  
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement