im tring to make a connection to a port and im tring to send some data to and then recv it but.. i dont fully understand sockets yet.. anyhelp
Code:#include <stdio.h> #include <string.h> #include <netdb.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <errno.h> #include <unistd.h> #include <arpa/inet.h> #define MYPORT 3490 #define ALLOW 10 static void BAIL( const char *on_what ) { fputs( strerror( errno), stderr ); fputs( on_what, stderr ); exit(1); } int main( int argc, char **argv ) { struct sockaddr_in mysock; struct sockaddr_in their_addr; char *msg = "xlordt was here"; int s_sock; int b_bind; int c_connet; int s_listen; int a_accept, r_recv; int size, len, bsent; s_sock = socket( AF_INET, SOCK_STREAM, 0 ); if( s_sock == -1 ) { BAIL( "error on: socket( )\n" ); } printf( "Status on socket( ): OK!\n" ); mysock.sin_family = AF_INET; mysock.sin_port = htons( MYPORT ); mysock.sin_addr.s_addr = inet_addr( "127.0.0.1" ); memset( &mysock, 0, sizeof mysock ); b_bind = bind( s_sock,( struct sockaddr *)&mysock,sizeof( struct sockaddr )); if( b_bind == -1 ) { BAIL( "error on: bind( )\n" ); } printf( "Status on bind( ): OK!\n" ); c_connet = connect( s_sock,( struct sockaddr *)&mysock,sizeof( struct sockaddr )); if( c_connet == -1 ) { BAIL( "error on: connect( )\n" ); } printf( "Status on connect( ): OK!\n" ); s_listen = listen( s_sock, ALLOW ); if( s_listen == -1 ) { BAIL( "error on: listen( )\n" ); } printf( "Status on listen: OK!\n" ); size = sizeof( struct sockaddr_in ); a_accept = accept( s_sock,( struct sockaddr *)&their_addr,&size ); if( a_accept == -1 ) { BAIL( "error on: accept( )\n" ); } printf( "Status on accept: OK!\n" ); len = strlen( msg ); bsent = send( s_sock, msg, len, 0 ); if( bsent == -1 ) { BAIL( "error on: send( )\n" ); } r_recv = recv( s_sock, msg, len, 0 ); printf( "%s", r_recv ); return 0; }



LinkBack URL
About LinkBacks



good thing it's similar to php in lots of ways heh