-
1. Data: 2019-03-09 01:39:02
Temat: Sockety - backlog size
Od: Borneq <b...@a...hidden.pl>
Jest przykład w C#
https://stackoverflow.com/questions/4253454/question
-about-listening-and-backlog-for-sockets
Jakie znaczenie ma BACKLOG_SIZE?
Z tego co widzę to jak jest zero to przyłącza 36 ze 100 , im większa
wartość tej zmiennej tym lepiej?
W przykładach Linuxa spotkałem wartości 3 i 5, natomiast w Windows
SOMAXCONN = 0x7fffffff
Wytłuamczone w
https://www.linuxjournal.com/files/linuxjournal.com/
linuxjournal/articles/023/2333/2333s2.html
Linux ma maksymalnie 128.
-
2. Data: 2019-03-09 11:17:11
Temat: Re: Sockety - backlog size
Od: Borneq <b...@a...hidden.pl>
W dniu 09.03.2019 o 01:39, Borneq pisze:
> Wytłuamczone w
> https://www.linuxjournal.com/files/linuxjournal.com/
linuxjournal/articles/023/2333/2333s2.html
>
> Linux ma maksymalnie 128.
Zamiast używać bibliotek takich jak boost:asio, mam mały wrapper do
podstawowej czynności na socketach:
https://github.com/borneq/cps
co jeszcze można by dodać? na pewno istnieje potrzeba dodania OpenSSL
aby można było odczytywać strony https.
-
3. Data: 2019-03-11 09:06:23
Temat: Re: Sockety - backlog size
Od: Maciej Sobczak <s...@g...com>
> Jakie znaczenie ma BACKLOG_SIZE?
Przecież sam podałeś linki, gdzie to jest wyjaśnione. To jest długość kolejki (po
stronie serwera) na połączenia oczekujące na accept.
> im większa
> wartość tej zmiennej tym lepiej?
Nie. Im krótszy czas, który serwer spędza na akceptacji nowego połączenia, tym
lepiej. Backlog to jedynie workaround na fakt, że ten czas nigdy nie może być 0. Ale
dążenie do tego idealnego stanu jest lepsze, niż zwiększanie długości backlogu.
Z drugiej strony, warto też zadbać o to, żeby klient potrafił podjąć kilka prób
połączenia zanim się podda. Te trzy aspekty (czas akceptacji, backlog i inteligencja
klienta) są dopiero składnikami kompletnego rozwiązania. Samo kręcenie backlogiem nie
jest rozwiązaniem.
> W przykładach Linuxa spotkałem wartości 3 i 5, natomiast w Windows
> SOMAXCONN = 0x7fffffff
SOMAXCONN oznacza, że programista ma to gdzieś i wtedy system sam wybiera jakiś
"maximum reasonable value".
--
Maciej Sobczak * http://www.inspirel.com