#include #include #include #include #include #include #define PORT 3490 #define DATASIZE (32 * 1024 + 1) int main( int argc, char *argv[] ) { int sockfd, i; char buf[ DATASIZE + 1 ]; struct sockaddr_in their_addr; if ( argc != 2 ) { fprintf( stderr,"usage: client hostip\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 ); } for ( i = 0; i < DATASIZE; i ++ ) { buf[ i ] = i % 26 + 'a'; } buf[ DATASIZE ] = 0; if ( ( i = send( sockfd, buf, DATASIZE, 0 ) ) == -1 ) { perror( "send" ); exit( -1 ); } printf( "sent %d bytes from %d.\n", i, DATASIZE ); close(sockfd); return 0; } /* author: Gustavo Sverzut Barbieri (http://www.gustavobarbieri.com.br) */