-
1. Data: 2017-09-06 23:31:45
Temat: Wieloużytkownikowy serwer udp?
Od: Borneq <b...@a...hidden.pl>
Jeśli chodzi o tcp to przykładem jest serwer http. Choć może złym
przykładem, bo jedynie tam łączy się na krótko, a nie trzyma połączenia
cały czas.
Natomiast jak to może być w przypadku udp?
Co do zrobienia: komunikacja - serwer i klient zwykle na lokalhost.
Wersja jednoużytkownikowa działa - serwer odbiera na zadanym porcie i
wysyła do portu, z którego łączy się klient.
Teraz chciałbym niewiele klientów, 2 może 3.
Może serwer z wątkami? Ale tam nie ma połączenia, jak to będzie
działało? Czy dla każdego klienta osobny port? czy port jeden?
Chciałbym dla każdego klienta mieć osobną sesję, każdy ma inne dane,
nawet jest licznik kolejnych komend wydawanych z klienta, każdy klient
ma mieć własny licznik.
-
2. Data: 2017-09-07 01:14:19
Temat: Re: Wieloużytkownikowy serwer udp?
Od: Szyk Cech <s...@o...pl>
> Chciałbym dla każdego klienta mieć osobną sesję, każdy ma inne dane,
Przeczysz sam sobie. Sesja to TCP. Natomiast jeśli chodziło by Ci o
wysłanie czegoś klientowi po jednym "pingu" do serwera, to co za problem
odpalić wątek i na jego końcu wysłać komunikat UDP do klienta na port
który podał w "pingu"?!?
-
3. Data: 2017-09-08 15:00:09
Temat: Re: Wieloużytkownikowy serwer udp?
Od: g...@s...invalid (Adam Wysocki)
Borneq <b...@a...hidden.pl> wrote:
> Jeśli chodzi o tcp to przykładem jest serwer http. Choć może złym
> przykładem, bo jedynie tam łączy się na krótko, a nie trzyma połączenia
> cały czas.
Nie zawsze. Http ma mechanizmy do utrzymywania połączenia - chunked
encoding, keepalive.
> Natomiast jak to może być w przypadku udp?
Serwer DNS.
> Może serwer z wątkami?
Rozwiązanie wewnątrz programu to jedno, ale wątki nie są potrzebne do
realizowania serwera obsługującego wielu użytkowników. Wszystko da się
zrobić w jednym wątku.
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
4. Data: 2017-09-08 15:01:34
Temat: Re: Wieloużytkownikowy serwer udp?
Od: g...@s...invalid (Adam Wysocki)
Adam Wysocki <g...@s...invalid> wrote:
> Nie zawsze. Http ma mechanizmy do utrzymywania połączenia - chunked
> encoding, keepalive.
Zresztą, link: https://en.wikipedia.org/wiki/HTTP_persistent_connec
tion
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
5. Data: 2017-09-08 15:29:32
Temat: Re: Wieloużytkownikowy serwer udp?
Od: Roman Tyczka <n...@b...no>
On Fri, 8 Sep 2017 13:00:09 +0000 (UTC), Adam Wysocki wrote:
>> Jeśli chodzi o tcp to przykładem jest serwer http. Choć może złym
>> przykładem, bo jedynie tam łączy się na krótko, a nie trzyma połączenia
>> cały czas.
>
> Nie zawsze. Http ma mechanizmy do utrzymywania połączenia - chunked
> encoding, keepalive.
Ale to chyba nie utrzymuje połączenia w sensie TCP tylko sesję http, a to
nie jest tożsame.
--
pozdrawiam
Roman Tyczka
-
6. Data: 2017-09-08 18:44:28
Temat: Re: Wieloużytkownikowy serwer udp?
Od: Borneq <b...@a...hidden.pl>
W dniu 08.09.2017 o 15:29, Roman Tyczka pisze:
> Ale to chyba nie utrzymuje połączenia w sensie TCP tylko sesję http, a to
> nie jest tożsame.
Ale w takim sensie, jakim mi chodzi to jest sesja, bo robię "sesję" udp.
-
7. Data: 2017-10-04 15:39:19
Temat: Re: Wieloużytkownikowy serwer udp?
Od: g...@s...invalid (Adam Wysocki)
Roman Tyczka <n...@b...no> wrote:
> Ale to chyba nie utrzymuje połączenia w sensie TCP tylko sesję http, a
> to nie jest tożsame.
Jest tożsame. Chyba że chodzi o inne rozumienie sesji, bo jest jeszcze
sesja np. zalogowana (na serwerze, a klient trzyma session ID w cookies
lub w zmiennej), i to już nie jest tożsame :)
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
-
8. Data: 2017-10-04 19:56:06
Temat: Re: Wieloużytkownikowy serwer udp?
Od: Roman Tyczka <n...@b...no>
On Wed, 4 Oct 2017 13:39:19 +0000 (UTC), Adam Wysocki wrote:
>> Ale to chyba nie utrzymuje połączenia w sensie TCP tylko sesję http, a
>> to nie jest tożsame.
>
> Jest tożsame. Chyba że chodzi o inne rozumienie sesji, bo jest jeszcze
> sesja np. zalogowana (na serwerze, a klient trzyma session ID w cookies
> lub w zmiennej), i to już nie jest tożsame :)
Czyli wołając reqesta do serwera http i używając w nagłówku HTTP pola
keep-alive powoduję, że serwer http utrzymuje ze mną aktywne połączenie tcp
czyli de facto otwartego socketa? I sobie to połączenie wisi, aż łaskawie
zechce mi się (klientowi http) odezwać ponownie?
--
pozdrawiam
Roman Tyczka
-
9. Data: 2017-10-06 19:05:52
Temat: Re: Wieloużytkownikowy serwer udp?
Od: "PawelS cbrbob(at)wbcd(dot)pl" <f...@e...org>
Roman Tyczka pisze:
> On Wed, 4 Oct 2017 13:39:19 +0000 (UTC), Adam Wysocki wrote:
>
>>> Ale to chyba nie utrzymuje połączenia w sensie TCP tylko sesję http, a
>>> to nie jest tożsame.
>> Jest tożsame. Chyba że chodzi o inne rozumienie sesji, bo jest jeszcze
>> sesja np. zalogowana (na serwerze, a klient trzyma session ID w cookies
>> lub w zmiennej), i to już nie jest tożsame :)
>
> Czyli wołając reqesta do serwera http i używając w nagłówku HTTP pola
> keep-alive powoduję, że serwer http utrzymuje ze mną aktywne połączenie tcp
> czyli de facto otwartego socketa? I sobie to połączenie wisi, aż łaskawie
> zechce mi się (klientowi http) odezwać ponownie?
Prawie tak jest, z dokładnością do poniższych ustawień:
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
#KeepAlive Off
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15
-
10. Data: 2017-10-12 14:40:08
Temat: Re: Wieloużytkownikowy serwer udp?
Od: g...@s...invalid (Adam Wysocki)
Roman Tyczka <n...@b...no> wrote:
> Czyli wołając reqesta do serwera http i używając w nagłówku HTTP pola
> keep-alive powoduję, że serwer http utrzymuje ze mną aktywne połączenie tcp
> czyli de facto otwartego socketa? I sobie to połączenie wisi, aż łaskawie
> zechce mi się (klientowi http) odezwać ponownie?
Tak. Jak masz do wyświetlenia 15 obrazków z jednej domeny, to nie ma sensu
tworzyć 15 połączeń. Można zrobić keepalive i pobrać wszystkie w jednym.
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]