Facebook
From asedf, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 144
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <arpa/inet.h>
  7. #include <string.h>
  8.  
  9. #define PORT 9999
  10. #define BUFFER_SIZE 1024
  11.  
  12. int main() {
  13.     int sock = 0, valread;
  14.     struct sockaddr_in serv_addr;
  15.     char buffer[BUFFER_SIZE] = {0};
  16.     char *hello = "Hello from client";
  17.  
  18.     if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
  19.         printf("\n Socket creation error \n");
  20.         return -1;
  21.     }
  22.  
  23.     serv_addr.sin_family = AF_INET;
  24.     serv_addr.sin_port = htons(PORT);
  25.  
  26.     if(inet_pton(AF_INET, "10.10.161.31", &serv;_addr.sin_addr)<=0) {
  27.         printf("\nInvalid address/ Address not supported \n");
  28.         return -1;
  29.     }
  30.  
  31.     if (connect(sock, (struct sockaddr *)&serv;_addr, sizeof(serv_addr)) < 0) {
  32.         printf("\nConnection Failed \n");
  33.         return -1;
  34.     }
  35.  
  36.     int pid = fork();
  37.  
  38.     if (pid == 0) {
  39.         while(1) {
  40.             valread = read( sock , buffer, BUFFER_SIZE);
  41.             printf("Server: %s\n", buffer );
  42.             memset(buffer, 0, BUFFER_SIZE);
  43.         }
  44.     }
  45.     else if (pid > 0) {
  46.         while(1) {
  47.             printf("Client:");
  48.             fgets(buffer, BUFFER_SIZE, stdin);
  49.             send(sock , buffer , strlen(buffer) , 0 );
  50.             memset(buffer, 0, BUFFER_SIZE);
  51.         }
  52.     }
  53.     else {
  54.         perror("Fork failed");
  55.         exit(EXIT_FAILURE);
  56.     }
  57.  
  58.     return 0;
  59. }