eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › Wieloużytkownikowy serwer udp?
Ilość wypowiedzi w tym wątku: 20

  • 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/ ]

strony : [ 1 ] . 2



Szukaj w grupach

Szukaj w grupach

REKLAMA

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo:

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.