Re: Otwarty port

Autor: Piotr Grzybowski (merlin_at_warhead.ii.pl)
Data: Wed 10 Jan 2001 - 19:06:52 MET


On Thu, 4 Jan 2001, Rafal Szymczak wrote:

>
> "Jan Sto=BFek" wrote:
> > =
>
> > Witam,
> > =
>
> > Czasem jak mi umrze prog korzystaj=B1cy z port=F3w TCP (np. SSH=
> , httpd
> > albo jaki=14 demon), to przy nast=EApnym uruchomieniu dostaj=EA komunik=
> at,
> > =BFe port jest ju=BF otwarty i nie mo=BFna go przybindowa=E6. Zwykle ra=
> dzi=A0em
> > sobie z tym rebutuj=B1c komputer, ale to jest a) nieelegancko b)
> > kosztuje sporo czasu. Czy mo=BFna jako=14 zmusi=E6 system, =BFeby zamkn=
> =B1=A0
> > rzeczone porty?
> > =
>
>
> To chyba nie jest tak. Wydaje mi sie, ze program nie "umarl" tak
> calkowicie, a jedynie jest w stanie smierci klinicznej. Tzn., ze jego
> okno zniknelo, ale program jest jeszcze w systemie. Port jest tylko
> wtedy otwarty, gdy jakis program go aktywnie uzywa. Gdy program pada,
> port jest automatycznie zwalniany. Niestety, te programy ktore padaja,
> ale nie tak do konca to jedna z najwiekszych bolaczek OS/2 (w/g mojej
> opinii).
nie do konca, chodzi to o flage SO_REUSEADDR, przez jakis czas (rzedu
minut) para socket-port nie moze byc urzyta znowu, to gwarantuje ze
program nie nawiazuje polaczenia ktore nie jest jego. Ktorko mowiac,
polaczenie jest w stanie (o ile dobrze pamietam nazwe) FIN_WAIT (albo cos
takkiego) w ktorym nie mozna urzyce tego samego portu.
 Rozwiazaniem jest zaznaczenie reuseadders, w jakis sposob

pg



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:29:50 MET DST