UNIX: разработка сетевых приложений
UNIX: разработка сетевых приложений читать книгу онлайн
Новое издание книги, посвященной созданию веб-серверов, клиент-серверных приложений или любого другого сетевого программного обеспечения в операционной системе UNIX, — классическое руководство по сетевым программным интерфейсам, в частности сокетам. Оно основано на трудах Уильяма Стивенса и полностью переработано и обновлено двумя ведущими экспертами по сетевому программированию. В книгу включено описание ключевых современных стандартов, реализаций и методов, она содержит большое количество иллюстрирующих примеров и может использоваться как учебник по программированию в сетях, так и в качестве справочника для опытных программистов.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
about IP/TV and the client needed to view this program is availablefrom http://videolab.uoregon.edu/download.htmlu=http://videolab.uoregon.edu/e=Hans Kuhn <[email protected]>p=Hans Kuhn <541/346-1758>b=AS:1000t=0 0a=type:broadcasta=tool:IP/TV Content Manager 3.2.24a=x-iptv-file:1 name y:25yop1234567890123.mpgm=video 63096 RTP/AVP 32 31 96c=IN IP4 224.2.245.25/127a=framerate:30a=rtpmap:96 WBIH/90000a=x-iptv-svr:video blaster2.uoregon.edu file 1 loopm=audio 31954 RTP/AVP 14 96 0 3 5 97 98 99 100 101 102 10 11 103 104 105 106c=IN IP4 224.2.216.85/127a=rtpmap:96 X-WAVE/8000a=rtpmap:97 L8/8000/2a=rtpmap:98 L8/8000a=rtpmap:99 L8/22050/2a=rtpmap:100 L8/22050a=rtpmap:101 L8/11025/2a=rtpmap:102 L8/11025a=rtpmap:103 L16/22050/2a=rtpmap:104 L16/22050a=rtpmap:105 L16/11025/2a=rtpmap:106 L16/11025a=x-iptv-svr:audio blaster2.uoregon.edu file 1 loopЭтот анонс описывает рассылки, посвященные истории NASA (National Aeronautics and Space Administration — НАСА, государственная организация США, занимающаяся исследованием космоса). Описание сеанса SDP состоит из множества строк следующего формата:
type=valueгде
typevaluetypev=0■
o=INIР4128.223.214.198■
s=i=u=р=e=■
b=■
t=■ Строки
a=m=m=■ Строки
m=c=Следующая строка
m=a=rtpmap:с=21.10. Отправка и получение
Программа для получения анонсов сеанса многоадресной передачи, показанная в предыдущем разделе, могла только получать дейтаграммы многоадресной передачи. Теперь мы создадим простую программу, способную и отправлять, и получать дейтаграммы многоадресной передачи. Наша программа состоит из двух частей. Первая часть отправляет дейтаграмму многоадресной передачи определённой группе каждые 5 с. Эта дейтаграмма содержит имя узла отправителя и идентификатор процесса. Вторая часть программы — это бесконечный цикл, присоединяющийся к той группе, которой первая часть программы отправляет данные. В этом цикле выводится каждая полученная дейтаграмма (содержащая имя узла и идентификатор процесса отправителя). Это позволяет нам запустить программу на множестве узлов в локальной сети и посмотреть, какой узел получает дейтаграммы от каких отправителей.
В листинге 21.8 показана функция
mainЛистинг 21.8. Создание сокетов, вызов функции fork и запуск отправителя и получателя
//mcast/main.c 1 #include "unp.h" 2 void recv_all(int, socklen_t); 3 void send_all(int. SA *, socklen_t); 4 int 5 main(int argc, char **argv) 6 { 7 int sendfd, recvfd; 8 const int on = 1; 9 socklen_t salen;10 struct sockaddr *sasend, *sarecv;
