🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.programming
3 messages
3 total messages Started by Borneq Sat, 09 Mar 2019 00:39
Sockety - backlog size
#215450
Author: Borneq
Date: Sat, 09 Mar 2019 00:39
12 lines
1305 bytes
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.
Re: Sockety - backlog size
#215451
Author: Borneq
Date: Sat, 09 Mar 2019 10:17
12 lines
1317 bytes
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.
Re: Sockety - backlog size
#215452
Author: Maciej Sobczak
Date: Mon, 11 Mar 2019 08:06
17 lines
2432 bytes
> 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
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