#include #include #include #include #include #include #include #include #include #define PORT 3490 int main( int argc, char *argv[] ) { int sockfd; int n; struct sockaddr_in their_addr; if ( argc != 3 ) { fprintf( stderr, "usage: client hostip number\n" ); exit( 1 ); } if ( ( n = atoi( argv[ 2 ] ) ) == 0 ) { fprintf( stderr, "ERROR: number should be > 0\n" ); exit( 1 ); } if ( ( sockfd = socket( AF_INET, SOCK_STREAM, 0 ) ) == -1 ) { perror( "socket" ); exit( 1 ); } their_addr.sin_family = AF_INET; their_addr.sin_port = htons( PORT ); if ( inet_pton( AF_INET, argv[ 1 ], &their_addr.sin_addr ) <= 0 ) { perror( "inet_pton" ); exit( 1 ); } memset( &( their_addr.sin_zero ), '\0', 8 ); if ( connect( sockfd, ( struct sockaddr * )&their_addr, sizeof( struct sockaddr ) ) == -1 ) { perror( "connect" ); exit( 1 ); } if ( send( sockfd, &n, sizeof( n ), 0 ) == -1 ) { perror( "send" ); exit( 1 ); } else { printf( "Sent '%d'.\n", n ); } close( sockfd ); return 0; } /* author: Gustavo Sverzut Barbieri (http://www.gustavobarbieri.com.br) */