#include <sys/types.h> #include <sys/socket.h> main() { int sd,ns; char buf[256]; struct sockaddr sockaddr; int fromlen; sd = socket(AF_UNIX,SOCK_STREAM,0); /* имя гнезда - не может включать пустой символ */ bind(sd,"sockname",sizeof("sockname") - 1); listen(sd,1); for (;;) { ns = accept(sd,&sockaddr,&fromlen); if (fork() == 0) { /* потомок */ close(sd); read(ns,buf,sizeof(buf)); printf("сервер читает '%s'\n",buf); exit(); } close(ns); } } |