-
Data: 2017-10-12 23:09:10
Temat: Re: Wieloużytkownikowy serwer udp?
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thursday, October 12, 2017 at 7:04:54 PM UTC+2, Roman Tyczka wrote:
> On Thu, 12 Oct 2017 09:50:21 -0700 (PDT), M.M. wrote:
>
> >>> Istnieje co prawda coś takiego jak websockets, ale to zupełnie inna bajka.
> >>>
> >> Jest w sieci wiele przykładów serwerów i klientów http. Jeśli Ci zależy,
> >> możesz któryś poznać. Wpisz w google np. taką frazę "qt http server"
> >
> > Może tam Cię coś zainteresuje:
> > http://doc.qt.io/qt-5/qtwebsockets-echoserver-exampl
e.html
> >
> > Pozdrawiam
>
> Ale przecież napisałem, że nie chodzi o websockety bo to inna bajka, osobna
> (nowa) technologia i do czego innego służąca.
> A jeśli chodzi o źródła serwerów... jedynie serwery pokroju Apache czy IIS
> są tu istotne, bo to one trzymają na swoich plecach internet, a żeby zbadać
> źródła takiego Apache to ...jestem za chudy w uszach. Stąd dopytuję, może
> ktoś w tym siedzi zawodowo i po prostu wie.
>
> --
> pozdrawiam
> Roman Tyczka
I tak nie wiem czego nie wiesz. Robi się close(socket) jeśli
upłynął zadany czas, albo po każdej odpowiedzi. Zaimplementować to
można na kilkadziesiąt sposobów i każdy będzie dobry. Jeśli
nie odpowiesz mi dlaczego chcesz to wiedzieć i do czego potrzebujesz, to
mogę jedynie ponownie odesłać do źródeł. Możesz napisać swój
edukacyjny serwer http i będziesz miał jakąś implementację bez
czytania źródeł apache i iis. Naprawdę nie trzeba być mistrzem
świata w programowaniu, aby w kilka godzin napisać swój serwer z
konfiguracją keep-alive.
Natomiast teoretycznie można by zoptymalizować czasy, ale nie
słyszałem aby w praktyce to się stosowało. Obojętnie jak
to w danej implementacji ktoś zoptymalizuje, to po prostu
robi się close(socekt) gdy zaszły warunki danej strategii.
Wracając, w przypadku http, klienta każdy może napisać, więc nie
można liczyć na rozsądne zachowanie ze strony klienta. Wszelkie
strategie muszą być po stronie serwera. Otwieranie za każdym razem
połączenia kosztuje. Przetrzymywanie otwartych połączeń też kosztuje.
Serwer w przybliżeniu wie jaki jest średni rozkład prawdopodobieństwa
zapytań od jednego klienta, a nawet wie, jakie jest rozkład po
konkretnym zapytaniu. Jeśli znamy rozkłady, znamy koszt
otwierania połączenia, znamy koszt przechowywania połączenia, to
można zbudować hash-table zapewniającą sub-optymalne zachowanie:
while( is_work )
request = get_request
if new_connection then
keep_alive = init_value
else
keep_alive += hash_table[ request ]
end if
response = compute( request )
send( response )
if current_time - time_open > keep_alive
close(socket)
end if
build_strategy( hash_table , request )
end while
Pozdrawiam
Następne wpisy z tego wątku
- 14.10.17 10:02 AK
- 17.10.17 15:46 m...@k...org
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-20 Fiat wymyślił i zaprojektował Citroena Ami? ;)
- 2024-05-20 Nowe obowiązkowe wyposażenie samochodów
- 2024-05-20 Telewizor przestał widzieć sygnał z anteny
- 2024-05-20 Opole => Consultant/Implementer Comarch ERP XL <=
- 2024-05-20 Białystok => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-20 Warszawa => Java Engineer <=
- 2024-05-20 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-05-20 Zielona Góra => Engineer R&D Mechanic <=
- 2024-05-20 Zabrze => Junior HelpDesk <=
- 2024-05-20 Warszawa => Key Account Manager <=
- 2024-05-20 Warszawa => Programista Full Stack .Net <=
- 2024-05-20 Kraków => Senior .Net Programmer <=
- 2024-05-20 Kraków => Programista .Net - Senior <=
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami