Guest User

Untitled

a guest
Oct 17th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 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.  
  7. void error(char *msg)
  8. {
  9. perror(msg);
  10. exit(0);
  11. }
  12.  
  13. int main(int argc, char *argv[])
  14. {
  15. int sockfd, portno, n;
  16.  
  17. struct sockaddr_in serv_addr;
  18. struct hostent *server;
  19.  
  20. char buffer[256];
  21. if (argc < 3) {
  22. fprintf(stderr,"usage %s hostname port\n", argv[0]);
  23. exit(0);
  24. }
  25. portno = atoi(argv[2]);
  26. sockfd = socket(AF_INET, SOCK_STREAM, 0);
  27. if (sockfd < 0)
  28. error("ERROR opening socket");
  29. server = gethostbyname(argv[1]);
  30. if (server == NULL) {
  31. fprintf(stderr,"ERROR, no such host\n");
  32. exit(0);
  33. }
  34. bzero((char *) &serv_addr, sizeof(serv_addr));
  35. serv_addr.sin_family = AF_INET;
  36. bcopy((char *)server->h_addr,
  37. (char *)&serv_addr.sin_addr.s_addr,
  38. server->h_length);
  39. serv_addr.sin_port = htons(portno);
  40. if (connect(sockfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr)) < 0)
  41. error("ERROR connecting");
  42. printf("Please enter the message: ");
  43. bzero(buffer,256);
  44. fgets(buffer,255,stdin);
  45. n = write(sockfd,buffer,strlen(buffer));
  46. if (n < 0)
  47. error("ERROR writing to socket");
  48. bzero(buffer,256);
  49. n = read(sockfd,buffer,255);
  50. if (n < 0)
  51. error("ERROR reading from socket");
  52. printf("%s\n",buffer);
  53. return 0;
  54. }
Add Comment
Please, Sign In to add comment