Advertisement
Guest User

server.c

a guest
Jun 17th, 2016
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6.  
  7. int main(int argc, char **argv) {
  8.     int MasterSocket = socket(
  9.         AF_INET /*IPv4*/,
  10.         SOCK_STREAM /*TCP*/,
  11.         IPPROTO_TCP);
  12.    
  13.     struct sockaddr_in SockAddr;
  14.     SockAddr.sin_family = AF_INET;
  15.     SockAddr.sin_port = htons(12345);
  16.     SockAddr.sin_addr.s_addr = htonl(INADDR_ANY); //0.0.0.0
  17.     bind(MasterSocket, (struct sockaddr *)(&SockAddr), sizeof(SockAddr));
  18.  
  19.     listen(MasterSocket, SOMAXCONN);
  20.  
  21.     while(1) {
  22.         int SlaveSocket = accept(MasterSocket, 0, 0);
  23.  
  24.         int Buffer[5] = {0, 0, 0, 0, 0};
  25.  
  26.         unsigned int counter = 0;
  27.         while(counter < 4) {
  28.             int res = recv(SlaveSocket, Buffer + 4 - counter, counter, MSG_NOSIGNAL);
  29.             if(res > 0) counter += res;
  30.         }
  31.        
  32.         send(SlaveSocket, Buffer, 4, MSG_NOSIGNAL);
  33.         shutdown(SlaveSocket, SHUT_RDWR);
  34.         close(SlaveSocket);
  35.  
  36.         printf("%s\n", Buffer);
  37.     }
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement