Ho iniziato lo studiio dei socket sotto linux, ho scritto un semplice client daytime :
ma se prov a connetermi al mio ip non va.... ho attivato il server inetd decomentando la riga daytime !!!codice:#include <sys/socket.h> #include <arpa/inet.h> #include <sys/types.h> #include <stdio.h> #include <unistd.h> #define MAX 64 int main(int argc, char * argv[]) { int sock, n_read; struct sockaddr_in sock_addr; char buf[MAX]; if ( argc != 2) { fprintf (stderr,"Parametri inseriti non corretti\n"); return 1; } if ( sock = socket(AF_INET, SOCK_STREAM, 0) < 0) { fprintf(stderr,"Socket non creato corretamente\n"); return 1; } sock_addr.sin_family = AF_INET; sock_addr.sin_port = htons(13); if ( inet_pton(AF_INET, argv[1] , &sock_addr.sin_addr) <= 0) { fprintf(stderr,"Trasformazione indirizzo non riuscita\n"); return 1; } if ( connect(sock, ( struct sockaddr *) &sock_addr, sizeof(sock_addr)) < 0) { fprintf(stderr,"Connessione non riuscita\n"); return 1; } while ( n_read = read ( sock, buf, MAX) > 0) { buf[n_read] = 0; printf("%s\n", buf); } if ( n_read < 0) { fprintf(stderr,"Errore nella lettura dei dati\n"); return 1; } close(sock); return 0; }
![]()
![]()
![]()

Rispondi quotando