Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <sys/socket.h>
  4. #include <netinet/in.h>
  5. #include <netdb.h>
  6. #include <netdb.h>
  7. #include <string.h>
  8. #include <stdlib.h>
  9. #include <unistd.h>
  10. #include <errno.h>
  11. #include <arpa/inet.h>
  12.  
  13. void error(char *msg)
  14. {
  15. perror(msg);
  16. exit(0);
  17. }
  18.  
  19. void sendData( int sockfd, char* buffer )
  20. {
  21. if (write( sockfd, buffer, 512 ) < 0 )
  22. error( (char*)"ERROR writing to socket" );
  23. }
  24.  
  25. void getData( int sockfd, char* buffer)
  26. {
  27. if (read(sockfd,buffer,512) < 0 )
  28. error( (char*)"ERROR reading from socket");
  29. }
  30.  
  31. int main(int argc, char *argv[])
  32. {
  33. int sockfd01, portno01 = 51000;
  34. int sockfd02, portno02 = 51500;
  35. char serverIp[] = "localhost";
  36. struct sockaddr_in serv_addr01;
  37. struct sockaddr_in serv_addr02;
  38. struct hostent *server01;
  39. struct hostent *server02;
  40. char buffer[512];
  41.  
  42. if ((sockfd01 = socket(AF_INET, SOCK_STREAM, 0) ) < 0 )
  43. error( (char*)"ERROR opening socket");
  44.  
  45. if ((server01 = gethostbyname(serverIp ) ) == NULL )
  46. error( (char*)"ERROR, no such host\n");
  47.  
  48. bzero((char *) &serv_addr01, sizeof(serv_addr01));
  49. serv_addr01.sin_family = AF_INET;
  50. bcopy((char *)server01->h_addr, (char *)&serv_addr01.sin_addr.s_addr, server01->h_length);
  51. serv_addr01.sin_port = htons(portno01);
  52. if (connect(sockfd01, (struct sockaddr *)&serv_addr01, sizeof(serv_addr01)) < 0)
  53. error( (char*)"ERROR connecting");
  54.  
  55. sendData(sockfd01, buffer);
  56. printf("sent first byte %d second byte %d\n", buffer[0], buffer[1]);
  57. close(sockfd01);
  58.  
  59. if ((sockfd02 = socket(AF_INET, SOCK_STREAM, 0) ) < 0 )
  60. error( (char*)"ERROR opening socket");
  61.  
  62. if ((server02 = gethostbyname(serverIp ) ) == NULL )
  63. error( (char*)"ERROR, no such host\n");
  64.  
  65. bzero((char *) &serv_addr02, sizeof(serv_addr02));
  66. serv_addr02.sin_family = AF_INET;
  67. bcopy((char *)server02->h_addr, (char *)&serv_addr02.sin_addr.s_addr, server02->h_length);
  68. serv_addr02.sin_port = htons(portno02);
  69. if (connect(sockfd02, (struct sockaddr *)&serv_addr02, sizeof(serv_addr02)) < 0)
  70. error( (char*)"ERROR connecting");
  71.  
  72. getData(sockfd02, buffer);
  73. printf("received first byte %d second byte %d\n", buffer[0], buffer[1]);
  74.  
  75. close(sockfd02);
  76.  
  77. return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement