UNIX: разработка сетевых приложений
UNIX: разработка сетевых приложений читать книгу онлайн
Новое издание книги, посвященной созданию веб-серверов, клиент-серверных приложений или любого другого сетевого программного обеспечения в операционной системе UNIX, — классическое руководство по сетевым программным интерфейсам, в частности сокетам. Оно основано на трудах Уильяма Стивенса и полностью переработано и обновлено двумя ведущими экспертами по сетевому программированию. В книгу включено описание ключевых современных стандартов, реализаций и методов, она содержит большое количество иллюстрирующих примеров и может использоваться как учебник по программированию в сетях, так и в качестве справочника для опытных программистов.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
default 12.106.32.1 UGSc 10 6877 hme012.106.32/24 link#1 UC 3 0 hme012.106.32.1 00:b0:8e:92:2c:00 UHLW 9 7 hme0 118712.106.32.253 08:00:20:b8:f7:e0 UHLW 0 1 hme0 14012.106.32.254 08:00:20:a7:68:b6 UHLW 0 2 lo0127.0.0.1 127.0.0.1 UH 1 10167 lo0192.168.42 link#2 UC 2 0 hme1192.168.42.1 08:00:20:a7:68:6b UHLW 0 11 lo0192.168.42.2 00:04:ac:17:bf:38 UHLW 2 24108 hme1 210Internet6:Destination Gateway Flags Netif Expire::/96 ::1 UGRSc lo0 =>default 3ffe:b80:3:9ad1::1 UGSc gif0::1 ::1 UH lo0::ffff:0.0.0.0/96 ::1 UGRSc lo03ffe:b80:3:9ad1::1 3ffe:b80:3:9ad1::2 UH gif03ffe:b80:3:9ad1::2 link#8 UHL lo03ffe:b80:1f8d::/48 lo0 USc lo03ffe:b80:1f8d:1::/64 link#1 UC hme03ffe:b80:1f8d:1::1 08:00:20:a7:68:6b UHL lo03ffe:b80:1f8d:2::/64 link#2 UC hme13ffe:b80:1f8d:2::1 08:00:20:a7:68:6b UHL lo03ffe:b80:1f8d:2:204:acff:fe17:bf38 00:04.ac:17:bf:38 UHLW hme1fe80::/10 ::1 UGRSc lo0fe80::%hme0/64 link#1 UC hme0fe80::a00:20ff:fea7:686b%hme0 08:00:20:a7:68:6b UHL lo0fe80::%hme1/64 link#2 UC hme1fe80::a00:20ff:fea7:686b%hme1 08:00:20:a7:68:6b UHL lo0fe80::%lo0/64 fe80::1%lo0 Uc lo0fe80::1%lo0 link#6 UHL lo0fe80::%gif0/64 link#8 UC gif0fe80::a00:20ff:fea7:686b%gif0 link#8 UHL lo0ff01::/32 ::1 U lo0ff02::/16 ::1 UGRS lo0ff02::%hme0/32 link#1 UC hme0ff02::%hem1/32 link#2 UC hme1ff02::%lo0/32 ::1 UC lo0ff02::%gif0/32 link#8 UC gif03. Имея имена интерфейсов, мы выполняем команду
ifconfiglinux % <b>ifconfig eth0</b>eth0 Link encap:Ethernet HWaddr 00:C0:9F:06:B0:E1 inet addr:206.168.112.96 Bcast:206.168.112.127 Mask:255.255.255.128 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:49214397 errors:0 dropped:0 overruns:0 frame:0 TX packets:40543799 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:1098069974 (1047.2 Mb) TX bytes:3360546472 (3204.8 Mb) Interrupt:11 Base address:0x6000При этом мы получаем IP-адрес, маску подсети и широковещательный адрес. Флаг
MULTICAST-a4. Одним из способов определить IP-адрес нескольких узлов локальной сети является проверка широковещательного адреса (найденного нами на предыдущем шаге) с помощью утилиты
pinglinux % <b>ping -b 206.168.112.127</b>WARNING: pinging broadcast addressPING 206.168.112.127 (206.168.112.127) from 206.168.112.96 : 56 (84) bytes of data.64 bytes from 206.168.112.96: icmp_seq=0 ttl=255 time=241 usec64 bytes from 206.168.112.40: icmp_seq=0 ttl=255 time=2 566 msec (DUP!)64 bytes from 206.168.112.118: icmp_seq=0 ttl=255 time=2.973 msec (DUP!)64 bytes from 206.168.112.14: icmp_seq=0 ttl=255 time=3.089 msec (DUP!)64 bytes from 206.168.112.126: icmp_seq=0 ttl=255 time=3.200 msec (DUP!)64 bytes from 206.168.112.71: icmp_seq=0 ttl=255 time=3.311 msec (DUP!)64 bytes from 206.168.112.31: icmp_seq=0 ttl=255 time=3.541 msec (DUP!)64 bytes from 206.168.112.7: icmp_seq=0 ttl=255 time=3.636 msec (DUP!)...1.10. Стандарты Unix
Когда писалась эта книга, наибольший интерес в сфере стандартизации Unix вызывала деятельность группы Остина по пересмотру общих стандартов (The Austin Common Standards Revision Group, CSRG). Ими было написано в общей сложности около 4000 страниц спецификаций, описывающих более 1700 интерфейсов программирования. Эти спецификации являются одновременно стандартами IEEE POSIX и The Open Group. Поэтому один и тот же стандарт может встретиться вам под разными названиями, например ISO/IEC 9945:2002, IEEE Std 1003.1-2001 и Single Unix Specification Version 3. В нашей книге мы будем называть этот стандарт просто: спецификация POSIX, за исключением разделов, подобных этому, где обсуждаются особенности различных более старых стандартов.
Проще всего получить копию этого консолидированного стандарта, заказав ее на компакт-диске или скачав из Сети (бесплатно). В любом случае начинать следует с
http://www.UNIX.org/version3
