Advertisement
Guest User

Untitled

a guest
Mar 31st, 2012
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.61 KB | None | 0 0
  1. int initSockets() {
  2.     WSADATA wsaData;
  3.     struct addrinfo *result = NULL, *ptr = NULL, hints;
  4.     SOCKET ClientSocket;
  5.     SOCKET ListenSocket;
  6.     int iResult;
  7.     char recvbuf[100];
  8.     int fromlen = 50;
  9.     unsigned short port;
  10.     int recvbuflen = 50;
  11.     struct sockaddr_in local, from;
  12.     int socket_type = SOCK_STREAM;
  13.     // Initialize Winsock
  14.     printf("in initsockets\n\n");
  15.     iResult = WSAStartup(0x202, &wsaData);
  16.     if (iResult != 0) {
  17.         printf("WSAStartup failed: %d\n", iResult);
  18.         return -1;
  19.     }
  20.  
  21.     printf("2\n");
  22.     ZeroMemory(&hints, sizeof (hints));
  23.     local.sin_family = AF_INET;
  24.     port = (unsigned short)DEFAULT_PORT;
  25.     local.sin_addr.s_addr = INADDR_ANY;
  26.     local.sin_port = (unsigned short)DEFAULT_PORT;
  27.  
  28.     // Resolve the local address and port to be used by the server
  29.  
  30.     printf("test");
  31.     ListenSocket = INVALID_SOCKET;
  32.     ListenSocket = socket(AF_INET, SOCK_STREAM, 0);
  33.     if (ListenSocket == INVALID_SOCKET) {
  34.         printf("Error at socket(): %ld\n", WSAGetLastError());
  35.         freeaddrinfo(result);
  36.         WSACleanup();
  37.         return 1;
  38.     }
  39.  
  40.     iResult = bind( ListenSocket, (struct sockaddr*)&local, sizeof(local));
  41.     if (iResult == SOCKET_ERROR) {
  42.         printf("bind failed with error: %d\n", WSAGetLastError());
  43.         freeaddrinfo(result);
  44.         closesocket(ListenSocket);
  45.         WSACleanup();
  46.         return 1;
  47.     }
  48.     printf("here\n");
  49.     freeaddrinfo(result);
  50.     if ( listen( ListenSocket, 10 ) == SOCKET_ERROR ) {
  51.         printf( "Listen failed with error: %ld\n", WSAGetLastError() );
  52.         closesocket(ListenSocket);
  53.         WSACleanup();
  54.         return 1;
  55.     }
  56.         ClientSocket = INVALID_SOCKET;
  57.         while(1) {
  58.            
  59.  
  60.     // Accept a client socket
  61.             printf("s\n");
  62.     ClientSocket = accept(ListenSocket, (struct sockaddr*)&from, &fromlen);
  63.     printf("f");
  64.     if (ClientSocket == INVALID_SOCKET) {
  65.         printf("accept failed: %d\n", WSAGetLastError());
  66.         closesocket(ListenSocket);
  67.         WSACleanup();
  68.         return 1;
  69.     }
  70.  
  71.     iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
  72.     if (iResult > 0) {
  73.         printf("Bytes received: %d\n", iResult);
  74.  
  75.         // Echo the buffer back to the sender
  76.       printf("HAAAAH\n\n");
  77.     } else if (iResult == 0)
  78.         printf("Connection closing...\n");
  79.     else {
  80.         printf("recv failed: %d\n", WSAGetLastError());
  81.         closesocket(ClientSocket);
  82.         WSACleanup();
  83.         return 1;
  84.    
  85.         iResult = shutdown(ClientSocket, SD_SEND);
  86.         printf("\ntests2\n");
  87.         if (iResult == SOCKET_ERROR) {
  88.             printf("shutdown failed: %d\n", WSAGetLastError());
  89.             closesocket(ClientSocket);
  90.             WSACleanup();
  91.         return 1;
  92.         }
  93.         printf("down here");
  94.    
  95.     }
  96.     printf("111111\n");
  97.         }
  98. // cleanup
  99.  
  100.  
  101. return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement