www.vintage-engagement-rings.info
okladka
Programowanie aplikacji sieciowych to jedna z tych dziedzin, z którą język Perl radzi sobie doskonale. Zwłaszcza, gdy czas nagli, a potrzebujemy napisać program spełniający funkcje serwera czy też klienta sieciowego, docenimy zalety Perla: zwięzłość kodu, dostęp do wielu wbudowanych procedur i setek modułów rozszerzających ten język oraz szybkość z jaką w Perlu tworzy się gotowe, działające aplikacje.

Książka poświęcona jest głównie protokołowi TCP/IP, będącemu fundamentem funkcjonowania Internetu. Omówiono w niej:

  • protokół TCP oraz interfejs programowania modułu IO::Socket
  • protokół SMTP i wysyłanie poczty elektronicznej z załącznikami multimedialnymi,
  • protokoły POP, IMAP i NNTP do odbioru i przetwarzania poczty elektronicznej,
  • protokół FTP, protokół HTTP i moduł LWP do komunikacji z serwerami WWW,
  • serwery rozwidlające się oraz demony inetd systemów UNIX i Windows,
  • programowanie wielowątkowe w Perlu
  • protokół UDP i serwery oparte na tym protokole
  • komunikację między procesami za pośrednictwem gniazd domeny UNIX.
Autor książki, Lincoln Stein, to prawdziwy guru programowania sieciowego w Perlu. Wystarczy tylko wspomnieć, iż jest on autorem modułu CGI.pm, powszechnie używanego przy pisaniu skryptów CGI, a także autorem licznych książek na temat tego języka.
Wstęp (9)
Cześć I Podstawy (21)
Rozdział 1. Podstawy operacji wejścia-wyjścia (23)
  • Perl a praca w sieci (23)
  • Praca w sieci w łatwym ujęciu (26)
  • Uchwyty plików (28)
  • Składnia zorientowana obiektowo - wykorzystanie modułów IO::Handle i IO::File (47)
Rozdział 2. Procesy, potoki i sygnały (55)
  • Procesy (55)
  • Potoki (60)
  • Sygnały (70)
Rozdział 3. Wprowadzenie do zagadnienia gniazd typu Berkeley (81)
  • Klienty, serwery i protokoły (81)
  • Gniazda typu Berkeley (85)
  • Adresowanie gniazd (91)
  • Prosty klient sieciowy (97)
  • Nazwy i usługi sieciowe (99)
  • Sieciowe narzędzia diagnostyczne (104)
Rozdział 4. Protokół TCP (109)
  • Klient usługi echo w protokole TCP (109)
  • Funkcje gniazda związane z wychodzącymi połączeniami (112)
  • Serwer usługi echo w protokole TCP (113)
  • Regulacja ustawień opcji gniazd (119)
  • Inne funkcje odnoszące się do gniazd (123)
  • Wyjątkowe sytuacje podczas komunikacji (125)
Rozdział 5. Interfejs programowania modułu IO::Socket (129)
  • Użycie modułu IO::Socket (129)
  • Metody modułu IO::Socket (132)
  • Więcej praktycznych przykładów (139)
  • Wydajność i styl (145)
  • Zagadnienie współbieżnych klientów (146)
Część II Opracowywanie klientów dla typowych usług (155)
Rozdział 6. FTP i Telnet (157)
  • Net::FTP (157)
  • Net::Telnet (171)
Rozdział 7. SMTP: Wysyłanie poczty elektronicznej (189)
  • Wprowadzenie do modułów pocztowych (189)
  • Net::SMTP (190)
  • MailTools (196)
  • MIME-Tools (207)
Rozdział 8. POP, IMAP i NNTP: Przetwarzanie poczty i grup dyskusyjnych (233)
  • Protokół pocztowy POP (233)
  • Protokół IMAP (250)
  • Klienty aktualności sieciowych (256)
  • Brama aktualności-poczta (267)
Rozdział 9. Klienty WWW (277)
  • Instalacja biblioteki LWP (278)
  • Podstawy biblioteki LWP (279)
  • Przykłady zastosowania LWP (294)
  • Analiza składniowa HTML i XML (311)
Część III Opracowywanie systemów klient-serwer TCP (331)
Rozdział 10. Serwery współbieżne oraz demon inetd (333)
  • Standardowe techniki współbieżności (333)
  • Przykład przewodni: serwer-psychoterapeuta (336)
  • Serwer-psychoterapeuta jako serwer współbieżny (337)
  • Skrypt klienta dla serwera-psychoterapeuty (344)
  • Kreowanie demonów w systemach UNIX (347)
  • Automatyczne uruchamianie serwerów sieciowych (354)
  • Użycie superdemona inetd (359)
Rozdział 11. Aplikacje wielowątkowe (367)
  • O wątkach słów kilka (367)
  • Wielowątkowy serwer-psychoterapeuta (375)
  • Wielowątkowy klient (378)
Rozdział 12. Aplikacje zmultipleksowane (381)
  • Zmultipleksowany klient (382)
  • Moduł IO::Select (384)
  • Zmultipleksowany serwer-psychoterapeuta (389)
Rozdział 13. Nieblokujące operacje wejścia-wyjścia (397)
  • Tworzenie nieblokujących uchwytów wejścia-wyjścia (398)
  • Stosowanie nieblokujących uchwytów (400)
  • Stosowanie nieblokujących uchwytów w operacjach wejścia-wyjścia zorientowanych wierszowo (403)
  • Uniwersalny moduł nieblokujący operacji wejścia-wyjścia (409)
  • Nieblokujące funkcje connect i accept (433)
Rozdział 14. Ochrona serwerów (449)
  • Wykorzystanie dziennika zdarzeń systemowych (450)
  • Ustalanie przywilejów użytkownika (466)
  • Tryb skażenia (472)
  • Zastosowanie chroot() (476)
  • Obsługa HUP oraz pozostałych sygnałów (478)
Rozdział 15. Wieloprocesowość wyprzedzająca i wielowątkowość wyprzedzająca (489)
  • Wieloprocesowość wyprzedzająca (490)
  • Wielowątkowość wyprzedzająca (521)
  • Miary wydajności (531)
Rozdział 16. IO::Poll (533)
  • Użycie IO::Poll (533)
  • Zdarzenia IO::Poll (535)
  • Metody IO::Poll (537)
  • Nieblokujący klient TCP - wykorzystanie IO::Poll (538)
Część IV Zagadnienia zaawansowane (543)
Rozdział 17. Protokół TCP z pilnymi danymi (545)
  • Dane spoza pasma i wskaźnik pilności (546)
  • Stosowanie pilnych danych TCP (548)
  • Funkcja sockatmark() (554)
  • Serwer trawestujący (557)
Rozdział 18. Protokół UDP (571)
  • Klient usługi podawania daty i godziny (571)
  • Tworzenie i wykorzystywanie gniazd UDP (574)
  • Błędy występujące przy korzystaniu z protokołu UDP (577)
  • Zastosowanie IO::Socket do gniazd UDP (578)
  • Komunikacja z wieloma hostami (580)
  • Serwery UDP (583)
  • Zwiększanie niezawodności aplikacji UDP (587)
Rozdział 19. Serwery UDP (597)
  • Internetowy system pogawędki (597)
  • Klient systemu pogawędki (601)
  • Serwer systemu pogawędki (611)
  • Wykrywanie nieaktywnych klientów (623)
Rozdział 20. Rozgłaszanie (631)
  • Przekaz do pojedynczego adresata a rozgłaszanie (631)
  • Tajniki rozgłaszania (632)
  • Wysyłanie i odbieranie przekazów (634)
  • Rozgłaszanie bez adresu rozgłaszania (638)
  • Rozbudowa klienta pogawędki o funkcję odkrywania zasobów (650)
Rozdział 21. Rozsyłanie grupowe (653)
  • Podstawy rozsyłania grupowego (653)
  • Zastosowanie rozsyłania grupowego (660)
  • Przykładowe aplikacje z wykorzystaniem rozsyłania grupowego (668)
Rozdział 22. Gniazda domeny UNIX (685)
  • Zastosowanie gniazd domeny UNIX (685)
  • Serwer formatujący tekst (691)
  • Zastosowanie gniazd domeny UNIX dla datagramów (695)
Dodatki (701)
Dodatek A Dodatkowy kod źródłowy (703)
  • Moduł Net::NetmaskLite (rozdział 3.) (703)
  • PromptUtil.pm (rozdziały 8. i 9.) (706)
  • Moduł IO::LineBufferedSet (rozdział 13.) (709)
  • Moduł IO::LineBufferedSessionData (rozdział 13.) (711)
  • Moduł DaemonDebug (rozdział 14.) (717)
  • Moduł Text::Travesty (rozdział 17.) (718)
  • Skrypt mchat_client.pl (rozdział 21.) (722)
Dodatek B Kody błędów i zmienne specjalne w Perlu (727)
  • Stałe opisujące błędy systemowe (727)
  • Zmienne "magiczne" w operacjach wejścia-wyjścia (732)
  • Pozostałe zmienne globalne Perla (734)
Dodatek C Internetowe tablice referencyjne (737)
  • Przypisane numery portów (737)
  • Zarejestrowane numery portów (762)
  • Internetowe adresy rozsyłania grupowego (780)
Dodatek D Zasoby online (783)
  • Programowanie w języku Perl (783)
  • TCP/IP i gniazda typu Berkeley (783)
  • Projektowanie serwerów sieciowych (784)
  • Protokoły warstwy aplikacji (784)
Skorowidz (787)