MauriDalia Δημοσ. 16 Δεκεμβρίου 2007 Δημοσ. 16 Δεκεμβρίου 2007 Καλησπέρα! Προσπαθώντας να τεστάρω το παρακάτω προγραμμα > #include "unp.h" int main(int argc, char **argv) { int listenfd, connfd; pid_t childpid; socklen_t clilen; struct sockaddr_in cliaddr, servaddr; listenfd = Socket(AF_INET, SOCK_STREAM, 0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(SERV_PORT); Bind(listenfd, (SA *) &servaddr, sizeof(servaddr)); Listen(listenfd, LISTENQ); for ( ; ; ) { clilen = sizeof(cliaddr); connfd = Accept(listenfd, (SA *) &cliaddr, &clilen); if ( (childpid = Fork()) == 0) { /* child process */ Close(listenfd); /* close listening socket */ str_echo(connfd); /* process the request */ exit(0); } Close(connfd); /* parent closes connected socket*/ } } void str_echo(int sockfd) { ssize_t n; char line[MAXLINE]; for ( ; ; ) { if ( (n = Readline(sockfd, line, MAXLINE)) == 0) return; /* connection closed by other end */ Writen(sockfd, line, n); } } κανω include το unp.h και στο compile μας εμφανίζει τα παρακάτω λάθη In file included from server.c:1: unp.h:7:63: error: config.h: No such file or directory unp.h:192:30: error: ../lib/addrinfo.h: No such file or directory In file included from server.c:1: unp.h:282: error: conflicting types for âgai_strerrorâ /usr/include/netdb.h:640: error: previous declaration of âgai_strerrorâ was here unp.h:286: error: conflicting types for âgetnameinfoâ /usr/include/netdb.h:649: error: previous declaration of âgetnameinfoâ was here unp.h:290: error: conflicting types for âgethostnameâ /usr/include/unistd.h:845: error: previous declaration of âgethostnameâ was here unp.h:306: error: conflicting types for âinet_ntopâ /usr/include/arpa/inet.h:67: error: previous declaration of âinet_ntopâ was here unp.h:427:2: error: #endif without #if Διαβασα κάπου πως : To unp.h ειναι ενα header που χρησιμοποιει ο stevens στο βιβλίο του [unix network programming] και ο σκοπός του ειναι το interoperatibility μεταξύ διαφορετικών πλατφορμών [solaris BSD linux 2.4 / linux etc]. Μπορείς γενικά να το βρεις εδώ http://www.unpbook.com/ στα sources και με κάποιο τρόπο να το προσθέσεις στο δικό σου codebase είτε να φτίαξεις ένα αντιστοιχο header από την αρχή. _________________ Μπόρει κάποιος να δώσει τα φώτα του τι συμβαίνει με αυτό το αρχείο?
Επισκέπτης Δημοσ. 16 Δεκεμβρίου 2007 Δημοσ. 16 Δεκεμβρίου 2007 Katebase ton kwdika apo edw: http://www.unpbook.com/unpv13e.tar.gz kai kane compile (diabase prwta to README)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.