|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
[C / c++] doveposso scaricare delle librerie? (es. netinet/in.h )
avrei bisogno di queste librerie di cui devc++ nn dispone, ma in rete non ho trovato nessuna pagina da cui scaricarle.
QUeste sono le librerie: #include <unistd.h> #include <netinet/in.h> #include <sys/types.h> #include <sys/wait.h> #include <sys/socket.h> #include <errno.h> grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Non sono librerie ma headers, li trovi in omaggio con i compilatori per Linux e con CygWin.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
ma un sito da cui scaricare semplicemente questi headers?
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
La mia impressione è che vuoi usare delle cose che sono tipiche dei sistemi come Linux ma di cui non c'è una corrispondenza diretta "portabile" su Windows (a meno di usare tools/librerie che sono un porting di ciò che esiste su Linux). Invece di cercare queste cose, dovresti specificare prima bene cosa vuoi fare.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
E una volta scaricati cosa ci fai? Alcuni degli headers elencati non sono inclusi nel pacchetto Dev-C++ perché non sono compatibili con MinGW, probabilmente il progetto che stai cercando di compilare non può funzionare su Windows (a meno di provare con CygWin).
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
volevo compilare un esempio di clinet-server trovato su internet (ne ho provati molti, ma ancora nessuno che funzioni).
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <netinet/in.h> #include <sys/types.h> #include <sys/wait.h> #include <sys/socket.h> #include <errno.h> // Porta per la comunicazione #define PORT 3666 // Inizializzazione della variabile sockaddr_in void addr_init (struct sockaddr_in *addr, int port, long int ip) { addr->sin_family=AF_INET; addr->sin_port = htons ((u_short) port); addr->sin_addr.s_addr=ip; } main(int argc, char **argv) { int i,sd; int var1,var2,var3,var4; int sock_size=sizeof(struct sockaddr_in); int N,status; pid_t pid; struct sockaddr_in server,client; // Controllo che vengano passati almeno due argomenti if (argc<3) { printf ("%s <server> <msg>\n",argv[0]); exit(1); } // Controllo che l'IP del server passato sia un indirizzo IPv4 valido if (sscanf(argv[1],"%d.%d.%d.%d",&var1,&var2,&var3,&var4) != 4) { printf ("%s non è un indirizzo IPv4 valido\n",argv[1]); exit(2); } // Inizializzazione dell'indirizzo addr_init (&server,PORT,inet_addr(argv[1])); // Creazione del socket if ((sd=socket(AF_INET,SOCK_STREAM,0))<0) { printf ("Impossibile creare un socket TCP/IP\n"); exit(3); } // Creazione della connessione if (connect(sd, (struct sockaddr*) &server, sock_size)<0) { printf ("Impossibile collegarsi al server %s sulla porta %d: errore %d\n", inet_ntoa(server.sin_addr.s_addr),PORT,errno); exit(4); } printf ("Connessione stabilita con successo con il server %s sulla porta %d\n", inet_ntoa(server.sin_addr.s_addr), ntohs(server.sin_port)); // Il numero di parole contenute nel messaggio è pari ad argc-2, // ovvero argc-(nome del programma)-(IP del server) N=argc-2; // Dico al server che sto per inviargli N stringhe send (sd, (int*) &N, sizeof(int), 0); // Per i che va da i ad argc... for (i=2; i<argc; i++) { // ...N è la lunghezza dell'i-esima stringa N=strlen(argv[i]); // Dico al server che sto per inviargli una stringa lunga N caratteri send (sd,(int*)&N,sizeof(int),0); // Invio al server la stringa send (sd,argv[i],N,0); printf ("Stringa %s lunga %d caratteri inviata con successo al server %s\n", argv[i],N,inet_ntoa(server.sin_addr.s_addr)); } // Chiusura della connessione close(sd); exit(0); } se sapete postarmi un semplice esempio, grazie |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Secondo me ha poco senso cercare di imparare qualcosa da codice trovato in giro per la Rete, soprattutto quando la preparazione è ancora lacunosa. In ogni caso quel codice compila senza problemi su CygWin. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
mi sono leto la teoria sui sockets, e ora volevo semplicemente un esempio pratico per imparare.
Comunque ho trovato dei sorgenti compilati! quindi problema risolto! |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:14.




















