|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Nov 2008
Messaggi: 29
|
programmazione in C
Ciao, sto facendo un'architettura client/server per il servizio daytime ed ho un piccolo problemino di compilazione. Quando vado a compilare il file che riguarda il server mi appare questo errore:
/tmp/cc0Q8btP.o: In function `main': Server-progetto.c ![]() collect2: ld returned 1 exit status Non so veramente che significhi, spero possiate aiutarmi, grazie! Questo è il codice: #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <unistd.h> #include <netdb.h> #include <time.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h> #define BACKLOG 10 int main (int argc, const char * argv[]){ int list_fd, conn_fd; struct sockaddr_in serv_add, client; char buffer[80]; socklen_t len; pid_t pid; time_t timeval; int logging = 0; if ((list_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("Socket creation error"); exit(-1); } memset ((void *)&serv_add, 0, sizeof(serv_add)); serv_add.sin_family = AF_INET; serv_add.sin_port = htons(13); serv_add.sin_addr.s_addr = htonl (INADDR_ANY); if (bild (list_fd, (struct sockaddr *)&serv_add, sizeof(serv_add)) < 0) { perror("bind error"); exit(-1); } if(listen(list_fd, BACKLOG) <0){ perror("listen error"); exit(-1); } while(1) { len = sizeof(client); if ((conn_fd = accept (list_fd, (struct sockaddr *)&client, &len)) < 0 ) { perror ("accept error"); exit(-1); } if ((pid = fork()) < 0 ) { perror("fork error"); exit(-1); } if (pid == 0) { close (list_fd); timeval = time(NULL); snprintf(buffer, sizeof(buffer), "%24s\r\n", ctime(&timeval)); if ((write (conn_fd, buffer, strlen(buffer))) < 0 ) { perror("write error"); exit(-1); } if (logging) { inet_ntop(AF_INET, &client.sin_addr, buffer, sizeof(buffer)); printf("Request from host %s, port %d\n", buffer, ntohs(client.sin_port)); } close (conn_fd); exit(0); } else { close(conn_fd); } } exit(0); } |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
che hai scritto bild invece di bind :E
Codice:
if (bild (list_fd, (struct sockaddr *)&serv_add, sizeof(serv_add)) < 0) { |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Nov 2008
Messaggi: 29
|
grazie mille, non mi ero accorto minimamente!
![]() ciao e grazie ancora! ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La prossima volta pensa ad un titolo più esplicativo, ad utilizzare il formato del titolo previsto dal regolamento di sezione e ad utilizzare il tag CODE per indentare il codice
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:06.