Facebook
From ádf, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 140
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <unistd.h>
  7.  
  8. #define size 2048
  9.  
  10. int main()
  11. {
  12.  
  13.     char serverMessage[size];
  14.  
  15.     // create the server socket
  16.     int socketDescriptor = socket(AF_INET, SOCK_STREAM, 0);
  17.  
  18.     // define the server address
  19.     // creating the address as same way we have created for TCPclient
  20.     struct sockaddr_in serverAddress;
  21.     serverAddress.sin_family = AF_INET;
  22.     serverAddress.sin_port = htons(9002);
  23.     serverAddress.sin_addr.s_addr = INADDR_ANY;
  24.  
  25.     // calling bind function to oir specified IP and port
  26.     bind(socketDescriptor, (struct sockaddr *)&serverAddress;, sizeof(serverAddress));
  27.  
  28.     listen(socketDescriptor, 5);
  29.  
  30.     // starting the accepting
  31.     // accept(socketWeAreAccepting,structuresClientIsConnectingFrom,)
  32.     int client_socket = accept(socketDescriptor, NULL, NULL);
  33.  
  34.     //input file
  35.     FILE *fptr = fopen&#40;"text.txt", "r"&#41;;
  36.     if (fptr == NULL) {
  37.         printf("Failed to open text.txt.\n");
  38.         exit(1);
  39.     }
  40.  
  41.     // reads text from file
  42.     int i = 0;
  43.     char ch;
  44.     while ((ch = fgetc(fptr)) != EOF && i < size) {
  45.         serverMessage[i] = ch;
  46.         i++;
  47.     }
  48.     serverMessage[i] = '\0';
  49.    
  50.     fclose(fptr);
  51.  
  52.     // sending data
  53.     // send(toWhom,Message,SizeOfMessage,FLAG);
  54.     send(client_socket, serverMessage, sizeof(serverMessage), 0);
  55.  
  56.     // close the socket
  57.     close(socketDescriptor);
  58.     return 0;
  59. }
  60.  
  61.  
  62.  
  63.  
  64.  
  65. // adding headers
  66. #include <stdio.h>
  67. #include <stdlib.h>
  68. //for socket and related functions
  69. #include <sys/types.h>
  70. #include <sys/socket.h>
  71. //for including structures which will store information needed
  72. #include <netinet/in.h>
  73. #include <unistd.h>
  74. #define SIZE 2048
  75.  
  76. //main functions
  77. int main()
  78. {
  79.     int socketDescriptor = socket(AF_INET, SOCK_STREAM, 0);
  80.  
  81.     // server address
  82.     struct sockaddr_in serverAddress;
  83.     serverAddress.sin_family = AF_INET;
  84.     serverAddress.sin_port = htons(9002);
  85.     serverAddress.sin_addr.s_addr = INADDR_ANY;
  86.  
  87.      // communicates with listen
  88.      connect(socketDescriptor, (struct sockaddr *)&serverAddress;, sizeof(serverAddress));
  89.  
  90.     char serverResponse[SIZE];
  91.     recv(socketDescriptor, &serverResponse;, sizeof(serverResponse), 0);
  92.     printf("The server sent the data : \n%s", serverResponse);
  93.  
  94.     //save results to file
  95.     FILE *file = fopen&#40;"response.txt", "w"&#41;;
  96.     if (file != NULL) {
  97.         fprintf(file, "%s", serverResponse);
  98.         fclose(file);
  99.         printf("Server response saved to response.txt\n");
  100.     } else {
  101.         printf("Failed to open response.txt.\n");
  102.     exit(1);
  103.     }
  104.  
  105.     //closing the socket
  106.     close(socketDescriptor);
  107.     return 0;
  108. }