[ Pobierz całość w formacie PDF ]
.Ostatnie pole zawiera znaczniki, które kontroluj¹, czy wysy³anie do grupyjest dozwolone, czy grupa jest moderowana i czy wysy³ane artyku³y s¹ rzeczywiSciezapisywane, czy jedynie przekazywane.Znaczniki te s¹ opisane szczegó³owo w roz-dziale 23.Oto przyk³ad:392 Rozdzia³ 22: NNTP i demon nntpdlist active215 Newsgroups in form "group high low flags".control 0000000000 0000000001 yjunk 0000000003 0000000001 yalt.test 0000000000 0000000001 y.Wysy³anie artyku³uWspomnieliSmy, ¿e istnieje ró¿nica pomiêdzy wysy³aniem artyku³u a jego wciska-niem.Przy wciskaniu po cichu zak³ada siê, ¿e artyku³ ju¿ istnieje, to znaczy, ¿e maunikatowy identyfikator wiadomoSci, który zosta³ mu unikatowo przypisany przezserwer, do którego zosta³ pierwotnie wys³any i ¿e ma pe³ny zestaw nag³Ã³wków.Gdywysy³asz artyku³, tworzysz go po raz pierwszy i podajesz tylko istotne dla ciebienag³Ã³wki, jak temat (Subject) i grupy dyskusyjne (Newsgroups), do których wy-sy³asz artyku³.Serwer grup dyskusyjnych, do którego wysy³asz artyku³, dodawszystkie pozosta³e nag³Ã³wki i stworzy identyfikator wiadomoSci, który bêdzieu¿ywany przy umieszczaniu artyku³u (wciskaniu) na innych serwerach.Wszystko to oznacza, ¿e wysy³anie artyku³u jest prostsze, ni¿ jego wciskanie.Przy-k³ad wysy³ania mo¿e wygl¹daæ tak:post340 OkFrom: terry@richard.geek.org.auSubject: test message number 1Newsgroups: junkBody:This is a test message, please feel free to ignore it.240 Article postedWygenerowaliSmy jeszcze dwa takie artyku³y, by naszym przyk³adom nadaæ cechyprawdopodobieñstwa.Listowanie nowych artyku³Ã³wGdy przegl¹darka po raz pierwszy ³¹czy siê z nowym serwerem i u¿ytkownik wy-biera grupy, które chce przegl¹daæ, przegl¹darka bêdzie chcia³a pobraæ listê nowychartyku³Ã³w tych, które zosta³y wys³ane lub odebrane od ostatniego po³¹czenia u¿yt-kownika.Do tego celu jest u¿ywane polecenie newnews.Musisz podaæ trzy obo-wi¹zkowe argumenty: nazwê grupy lub grup, datê pocz¹tkow¹ i godzinê, od którejma byæ pobierana lista.Data i czas s¹ podawane w postaci liczb szeSciocyfrowych,gdzie najbardziej znacz¹ca informacja musi byæ podana jako pierwsza, odpowied-nio:rrmmdd iggmmss.newnews junk 990101 000000230 New News follows.Protokó³ NNTP 393Wybór grupy, na której maj¹ byæ wykonywane operacjeGdy u¿ytkownik wybierze grupê do przegl¹dania, przegl¹darka mo¿e poinformo-waæ serwer, ¿e grupa zosta³a wybrana.Upraszcza to wspó³dzia³anie przegl¹darkii serwera, poniewa¿ nie trzeba ju¿ wtedy wysy³aæ nazwy grupy przy ka¿dym pole-ceniu.Polecenie group po prostu przyjmuje jako argument nazwê wybranej grupy.Wiele dalszych poleceñ u¿ywa wybranej nazwy jako domySlnej, dopóki grupa niezostanie podana jawnie.group junk211 3 1 3 junkPolecenie group zwraca wiadomoSæ zawieraj¹c¹ odpowiednio: liczbê aktywnychwiadomoSci, dolny znacznik, górny znacznik i nazwê grupy.Zapamiêtaj, ¿e choæw naszym przyk³adzie liczba wiadomoSci i górny znacznik maj¹ tê sam¹ wartoSæ, tonie zawsze tak jest.W aktywnym serwerze grup artyku³y wygasaj¹ lub s¹ usuwane,co zmniejsza liczbê aktywnych wiadomoSci, ale górny znacznik pozostaje nietkniêty.Listowanie artyku³Ã³w w grupieAby dostaæ siê do artyku³Ã³w w grupie, przegl¹darka musi znaæ numery artyku³Ã³waktywnych.Polecenie listgroup daje listê numerów aktywnych artyku³Ã³w w bie¿¹cejlub jawnie podanej grupie:listgroup junk211 Article list follows123.Pobieranie jedynie nag³Ã³wka artyku³uU¿ytkownik musi coS wiedzieæ o artykule, aby móg³ zdecydowaæ, czy chce go prze-czytaæ.WspomnieliSmy wczeSniej, ¿e niektóre polecenia pozwalaj¹ przesy³aæ od-dzielnie nag³Ã³wek i treSæ artyku³u.Polecenie head jest u¿ywane do przesy³ania doprzegl¹darki jedynie nag³Ã³wka zadanego artyku³u.Je¿eli u¿ytkownik nie chce czy-taæ tego artyku³u, nie marnujemy czasu ani przepustowoSci sieci na niepotrzebneprzesy³anie jego treSci, która mo¿e byæ du¿a.Do artyku³Ã³w mo¿na siê odwo³ywaæ przez ich numer (uzyskany poleceniem listgro-up) lub przez identyfikator wiadomoSci:head 2221 2 headPath: news.vbrew.com!not-for-mailFrom: terry@richard.geek.org.auNewsgroups: junkSubject: test message number 2Date: 27 Apr 1999 21:51:50 GMTOrganization: The Virtual breweryLines: 2Message-ID:NNTP-Posting-Host: localhostX-Server-Date: 27 Apr 1999 21:51:50 GMT394 Rozdzia³ 22: NNTP i demon nntpdBody:Xref: news.vbrew.com junk:2.Pobieranie jedynie treSci artyku³uJe¿eli jednak u¿ytkownik zdecyduje siê, ¿e chce przeczytaæ artyku³, przegl¹darkapotrzebuje sposobu na przes³anie samej jego treSci.Do tego celu jest u¿ywane pole-cenie body.Dzia³a w ten sam sposób co head, ale zwracana jest treSæ artyku³u:body 2222 2 bodyThis is another test message, please feel free to ignore it too.Czytanie artyku³u z grupyChoæ zwykle bardziej efektywne jest oddzielne przesy³anie nag³Ã³wków i treSci wy-branych artyku³Ã³w, czasem zdarza siê, ¿e lepiej jest przes³aæ pe³ny artyku³.Jednymz przyk³adów takiego zastosowania jest chêæ przes³ania wszystkich artyku³Ã³w bez¿adnej wstêpnej selekcji, czyli na przyk³ad gdy u¿ywamy programu pamiêcipodrêcznej NNTP jak leafnode*.OczywiScie NNTP pozwala na takie przesy³anie i co nie jest zaskoczeniem, dzia³aono tak samo dobrze jak polecenie head.Polecenie article tak¿e przyjmuje numer ar-tyku³u lub ID wiadomoSci, ale zwraca ca³y artyku³ w³¹cznie z nag³Ã³wkiem:article 1220 1 articlePath: news.vbrew.com!not-for-mailFrom: terry@richard.geek.org.auNewsgroups: junkSubject: test message number 1Date: 26 Apr 1999 22:08:59 GMTOrganization: The Virtual breweryLines: 2Message-ID:NNTP-Posting-Host: localhostX-Server-Date: 26 Apr 1999 22:08:59 GMTBody:Xref: news.vbrew.com junk:1This is a test message, please feel free to ignore it.Je¿eli spróbujesz pobraæ nieznany artyku³, serwer zwróci ci go wraz z odpowiednimkodem odpowiedzi i byæ mo¿e czytelnym komunikatem tekstowym:article 4423 Bad article numberW tym podrozdziale omówiliSmy, jak dzia³aj¹ najwa¿niejsze polecenia NNTP.Je¿eliinteresuje ciê tworzenie oprogramowania wykorzystuj¹cego ten protokó³, powinieneS* leafnode jest dostêpny z anonimowego serwera FTP wpxx02.toxi.uni-wuerzburg.de w katalogu /pub.Ograniczanie dostêpu NNTP 395skorzystaæ z odpowiednich dokumentów RFC.Zawieraj¹ one wiele szczegó³Ã³w, któ-rych nie mo¿emy tutaj opisaæ.Przyjrzyjmy siê teraz jak NNTP dzia³a w serwerze nntpd.Instalowanie serwera NNTPSerwer NNTP (nntpd) mo¿e byæ skompilowany na dwa sposoby, w zale¿noSci odoczekiwanego obci¹¿enia systemu grup.Nie s¹ dostêpne wersje skompilowane, po-niewa¿ pewne wartoSci zwi¹zane z oSrodkiem s¹ na sztywno zaszyte w kodzie wy-konywalnym.Ca³a konfiguracja jest realizowana przez makra zdefiniowane w plikucommon/conf.h.nntpd mo¿na konfigurowaæ zarówno jako samodzielny serwer uruchamiany w cza-sie inicjacji systemu z pliku rc, jak i jako demona zarz¹dzanego przez inetd.W tymdrugim przypadku musisz mieæ w pliku /etc/inetd.conf nastêpuj¹cy wpis:nntp stream tcp nowait news /usr/etc/in.nntpd nntpdSk³adnia inetd.conf jest szczegó³owo opisana w rozdziale 12, Wa¿ne funkcje sieciowe.Je¿eli konfigurujesz nntpd jako samodzielny serwer, pamiêtaj, aby zakomentowaæodpowiedni wiersz w pliku inetd.conf
[ Pobierz całość w formacie PDF ]