Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <string.h>
  5. #include <sys/types.h>
  6. #include <sys/socket.h>
  7. #include <netinet/in.h>
  8. #include <netdb.h>
  9. //======================================================================
  10. int error( int ern, const char *err ){
  11. perror( err );
  12. return ern;
  13. }
  14. //======================================================================
  15. int main( void )
  16. {
  17. /* zmienne predefiniowane *****************************************/
  18. int port = 12345;
  19. char host[] = "127.0.0.1";
  20. /* zmienne niezainicjowane ****************************************/
  21. int fd, n;
  22. struct sockaddr_in serv_addr;
  23. struct hostent *server;
  24. char buffer[256];
  25.  
  26. /* tworzymy gniazdo ***********************************************/
  27. fd = socket(AF_INET, SOCK_STREAM, 0);
  28.  
  29. if (fd < 0)
  30. return error( 1, "socket()");
  31.  
  32. /* pobieramy informacje o serwerze ********************************/
  33. server = gethostbyname( host );
  34.  
  35. if( server == NULL )
  36. return error( 2, "gethostbyname()" );
  37.  
  38. /* zapelniamy strukture zerami (inicjujemy) ***********************/
  39. bzero((char *) &serv_addr, sizeof(serv_addr));
  40.  
  41. /* przypisujemy parametry *****************************************/
  42. serv_addr.sin_family = AF_INET; // typ gniazda
  43. serv_addr.sin_port = htons(port); // port
  44.  
  45. bcopy( (char *) server->h_addr, (char *) &serv_addr.sin_addr.s_addr, server->h_length );
  46.  
  47. /* nawiazujemy polaczenie *****************************************/
  48. if( connect( fd, (struct sockaddr *) &serv_addr, sizeof( serv_addr ) ) < 0 )
  49. return error( 3, "connect()" );
  50.  
  51. /* zerujemy bufor *************************************************/
  52. bzero( buffer, 256 );
  53.  
  54. /* odczytujemy wiadomosc ******************************************/
  55. n = read( fd, buffer, 255 );
  56. if (n < 0)
  57. return error( 4, "read()" );
  58.  
  59. /* wypisujemy wiadomosc *******************************************/
  60. printf( "%s\n", buffer );
  61.  
  62. /* konczymy polaczenie ********************************************/
  63. close(fd);
  64.  
  65. //------------------------------------------------------------------
  66. return 0;
  67. }
  68. //======================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement