//codice server AF_UNIX #include #include #include #include #include main() { int sd, ns; char buf[256]; struct sockaddr addr, addr1; int fromlen=256, i=0; sd = socket(AF_UNIX, SOCK_STREAM, 0); if(sd==-1) err_sys("socket"); else printf("socket id=%d\n",sd); addr.sa_family=AF_UNIX; strcpy(addr.sa_data,"filesocket\0"); if(bind(sd, &addr, sizeof(addr) )==-1) err_sys("bind"); else printf("realizzato il binding\n"); if(listen(sd,1)==-1) err_sys("listen"); else printf("dopo la listen\n"); for(i=0;i<4;i++) { ns = accept(sd, &addr1, &fromlen); if(ns == -1) err_sys("errore in accept"); read(ns, buf, sizeof(buf)); printf("Sono il server. Ho ricevuto:%s\n",buf); close(ns); } unlink("nomesocket"); exit(0); }