/* includes y variables necesarias. */ #include #include #include #include #include #include int main() { int server_sockfd, client_sockfd; int server_len, client_len; struct sockaddr_un server_address; struct sockaddr_un client_address; /* Sacar antiguos sockets (si los hay) y crear uno en el servidor. */ unlink("server_socket"); server_sockfd = socket(AF_UNIX, SOCK_STREAM, 0); /* Nombrar el socket. */ server_address.sun_family = AF_UNIX; strcpy(server_address.sun_path, "server_socket"); server_len = sizeof(server_address); bind(server_sockfd, (struct sockaddr *)&server_address, server_len); /* Crear una cola de conexiones y esperar a clientes. */ listen(server_sockfd, 5); while(1) { char ch; printf("servidor esperando...\n"); /* Aceptar la conexion. */ client_len = sizeof(client_address); client_sockfd = accept(server_sockfd, (struct sockaddr *)&client_address, &client_len); /* Ahora se puede We can now read/write to client on client_sockfd. */ printf("llego un cliente!!!...\n"); read(client_sockfd, &ch, 1); //lee char del cliente ch++; write(client_sockfd, &ch, 1); //envia char al cliente close(client_sockfd); } }