Thread View: pl.comp.os.linux.programowanie
4 messages
4 total messages
Started by Daniel Mróz
Wed, 29 Sep 1999 15:43
Jak dziala FIFO?
Author: Daniel Mróz
Date: Wed, 29 Sep 1999 15:43
Date: Wed, 29 Sep 1999 15:43
34 lines
2462 bytes
2462 bytes
Czesc Pytanie pewne banalne, ale nie wiem gdzie szukac odpowiedzi. Napisalem sobie dwa programy: serwer i klient. Serwer po uruchomieniu tworzy dwie kolejki FIFO: jedna do odczytu (przyjmowanie komend), dru- ga do zapisu (odpowiadanie na komendy). Klient po uruchomieniu otwiera te kolejki i poprzez nie wysyla do serwera to, co wpisze uzytkownik. Serwer jest glupi, tzn. nie robi nic oprocz `odbijania' tego co dostanie, czyli klient wysylajac ciag `BLAH' otrzyma spowrotem `BLAH'. Proste. Kiedy odpale jeden serwer oraz kilka klientow to wszystkie korzys- taja z tych samych dwoch plikow FIFO. Jednak, kiedy z klienta nr 1 wysle wiadomosc, to serwer ja odbije do klienta nr 1, a pozostali klienci nie dostana nic. Tak samo jesli wysle wiadomosc z klienta nr 4, to serwer ja odbije tylko do niego. Moje pytanie brzmi: skad serwer wie, do ktorego klienta ma odbic wiadomosc? Wszystkie programy korzys- taja z tych samych plikow, wiec to co serwer zapisze w FIFO powinno byc odebrane przez wszystkich klientow. Wiadomosci nie zawieraja zad- nych dodatkowych informacji. Podejrzewam, ze odpowiada za to kernel, ale jak to jest mozliwe? P.S. Jesli pytanie zbyt glupie to przepraszam, ale mnie tego w szkole nie ucza :( Pozdrawiam Beorn -- ---------------------------------------------------------------------- Daniel `Beorn' Mróz http://127.0.0.1/beorn beorn@alpha.pl psi2863@orca.mila.edu.pl ----------------------------------ooo^..^ooo--------------------------
Re: Jak dziala FIFO?
Author: Logout
Date: Thu, 30 Sep 1999 07:26
Date: Thu, 30 Sep 1999 07:26
5 lines
1059 bytes
1059 bytes
A czy z FIFO nie jest tak, ze cos mozna odczytac tylko raz ? Nastepny klient podlaczony do tego samego fifo juz nie zauwazy, bo z fifo sie "zabiera" czy "zdejmuje". Moze sie myle, ale tak mi sie wydaje. g
Re: Jak dziala FIFO?
Author: Cezary H. Noweta
Date: Thu, 30 Sep 1999 11:58
Date: Thu, 30 Sep 1999 11:58
24 lines
1920 bytes
1920 bytes
Witam,
"Daniel Mróz" wrote:
> [...] Jednak, kiedy z klienta nr 1
> wysle wiadomosc, to serwer ja odbije do klienta nr 1, a pozostali
> klienci nie dostana nic. Tak samo jesli wysle wiadomosc z klienta nr
> 4, to serwer ja odbije tylko do niego. Moje pytanie brzmi: skad serwer
> wie, do ktorego klienta ma odbic wiadomosc? Wszystkie programy korzys-
> taja z tych samych plikow, wiec to co serwer zapisze w FIFO powinno
> byc odebrane przez wszystkich klientow. [...]
To co zapisze ktos jest odbierane tylko przez jednego ktosia (pierwszego,
ktory czyta). Podejrzewam, ze klient wysyla tak:
write("BLAHBLAH",...);
read(...);
podczas, gdy inni klienci robia cos innego. Klient zapisuje i natychmiast
czyta, podczas gdy inni nie czytaja. Po przeczytaniu dane znikaja.
-- pozdrawiam
--
Cezary H. Noweta 90-237 LODZ, ul. J.Matejki 34/38 POLAND
(chn@irys.usun.drugiitrzeciczlon.uni.lodz.pl) +48 42 6356013, 6356012
University of Lodz - Main Library fax 6781678
Re: Jak dziala FIFO?
Author: Daniel Mróz
Date: Thu, 30 Sep 1999 16:07
Date: Thu, 30 Sep 1999 16:07
27 lines
2281 bytes
2281 bytes
On Thu, 30 Sep 1999 13:58:58 +0200, Cezary H. Noweta <chn@irys.usundrugiczlon.uni.lodz.pl> wrote:
>> [...] Jednak, kiedy z klienta nr 1
>> wysle wiadomosc, to serwer ja odbije do klienta nr 1, a pozostali
>> klienci nie dostana nic. Tak samo jesli wysle wiadomosc z klienta nr
>> 4, to serwer ja odbije tylko do niego. Moje pytanie brzmi: skad serwer
>> wie, do ktorego klienta ma odbic wiadomosc? Wszystkie programy korzys-
>> taja z tych samych plikow, wiec to co serwer zapisze w FIFO powinno
>> byc odebrane przez wszystkich klientow. [...]
> To co zapisze ktos jest odbierane tylko przez jednego ktosia (pierwszego,
> ktory czyta). Podejrzewam, ze klient wysyla tak:
> write("BLAHBLAH",...);
> read(...);
> podczas, gdy inni klienci robia cos innego. Klient zapisuje i natychmiast
> czyta, podczas gdy inni nie czytaja. Po przeczytaniu dane znikaja.
Rozumiem. Teraz wyforkowalem podproces, ktory tylko czyta i zwrot
dostaje tylko jeden z trzech klientow (pomimo, ze wszystkie wciaz
nasluchuja). Czyli wszystko w porzadku. Dzieki.
Pozdrawiam
Beorn
--
----------------------------------------------------------------------
Daniel `Beorn' Mróz http://127.0.0.1/beorn
beorn@alpha.pl
psi2863@orca.mila.edu.pl
----------------------------------ooo^..^ooo--------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads