Advertisement
Bewin

TCP Client

Mar 24th, 2025
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.81 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <sys/socket.h>
  4. #include <arpa/inet.h>
  5. #include <stdlib.h>
  6. #include <unistd.h>
  7.  
  8. int socket_desc;
  9.  
  10. void close_socket(void){
  11.     if(socket_desc >= 0) close(socket_desc);
  12. }
  13.  
  14. int main(void)
  15. {
  16.     struct sockaddr_in server_addr;
  17.     char server_message[2000], client_message[2000];
  18.  
  19.     atexit(close_socket);
  20.  
  21.     socket_desc = -1;
  22.    
  23.     // Clean buffers:
  24.     memset(server_message,'\0',sizeof(server_message));
  25.     memset(client_message,'\0',sizeof(client_message));
  26.    
  27.     // Create socket:
  28.     socket_desc = socket(AF_INET, SOCK_STREAM, 0);
  29.    
  30.     if(socket_desc < 0){
  31.         printf("Unable to create socket\n");
  32.         exit(0);
  33.     }
  34.    
  35.     printf("Socket created successfully\n");
  36.    
  37.     // Set port and IP the same as server-side:
  38.     server_addr.sin_family = AF_INET;
  39.     server_addr.sin_port = htons(2000);
  40.     server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
  41.    
  42.     // Send connection request to server:
  43.     if(connect(socket_desc, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0){
  44.         printf("Unable to connect\n");
  45.         exit(0);
  46.     }
  47.     printf("Connected with server successfully\n");
  48.    
  49.     // Get input from the user:
  50.     printf("Enter message: ");
  51.     scanf("%s",client_message);
  52.    
  53.     // Send the message to server:
  54.     if(send(socket_desc, client_message, strlen(client_message), 0) < 0){
  55.         printf("Unable to send message\n");
  56.         exit(0);
  57.     }
  58.    
  59.     // Receive the server's response:
  60.     if(recv(socket_desc, server_message, sizeof(server_message), 0) < 0){
  61.         printf("Error while receiving server's msg\n");
  62.         exit(0);
  63.     }
  64.    
  65.     printf("Server's response: %s\n",server_message);
  66.    
  67.     // Close the socket:
  68.     close(socket_desc);
  69.    
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement