Page 76 - 2578
P. 76
}
msglen = strlen(msg);
if(sendto(sockfd, msg, msglen, 0, (struct
sockaddr*)&serv_addr, saddrlen) != msglen){
printf("Pomylka peredavannya
povidomlennya\n");
exit(1);
}
if((n = recvfrom(sockfd, buf, MAXBUF, 0, NULL,
0)) < 0){
printf("Pomylka otrymannya povidomlennya\n");
exit(1);
}
printf("Echo: %s\n", buf);
close(sockfd);
unlink(clnt_addr.sun_path);
exit(0);
}
4 Відкомпілюйте програми:
cc -o serverfifo serverfifo.c
cc -o clientfifo clientfifo.c
5 У разі успішної компілювання на першому терміналі
командою ls -1 можна спостерігати з’явлення виконуваного
файла ./serverfifo, а на другому — ./clientfifo.
6 Перевірте результати роботи програм; у разі з’явлення
повідомлень про помилки, поясніть їх та усуньте, після чого
знову запустіть програми та отримайте позитивний результат
— з’явлення на терміналі сервера Ваших прізвища, ім’я та по-
батькові.
7 Змоделюйте ситуації, коли неможливо створити,
відкрити та вилучити FIFO, а також коли виникає помилка
виведення та записування, потім знову налаштуйте програми
та виконайте їх.
75