You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on May 16, 2023. It is now read-only.
Funkcja handle_packets() bedzie przyjmowac pakiety i interpretować treści zawarte w pakiecie - wołać konkretne mechanizmy serwera w zaleznosci od zadania i konstruowac pakiet zwrotny ktory odda serwerowi do wyslania.
Powinna realizować kolejke pakietow jezeli jest wątkiem. Jezeli jest wątkiem, to operator() powinien byc przeciazony w klasie PacketHandler jako watek z pętlą oczekującą na pojawienie się czegoś w kolejce.
Kolejka może być priorytetowa jezeli pakiety będą mialy priorytet (np. pakiety gameroomow powinny miec pierwszenstwo nad wszelkim innym ruchem)...
UWAGA! Najlepiej napisać packet handler w taki sposób, żeby potem mozna bylo uzyc tej samej klasy do czesci serwera zajmujacej sie rozgrywką. Tej klasy, albo klasy pochodnej po tej klasie.
Wówczas możnaby utworzyć wewnętrzną tablicę routingu - czyli przypisanie gdzie w serwerze nalezy przekazac dany pakiet co każdy może sprawdzić żeby nie bawić się w kolejki priorytetowe -> po prostu każdy socket, skoro jest osobnym wątkiem sprawdza sobie do ktorego packet handlera ma przekazac pakiet i to robi, a potem w konrketnym packet handlerze pakiety sa rownouprawnione.
The text was updated successfully, but these errors were encountered:
Jezeli boost::asio faktycznie robi oddzielny watek do kazdego polaczenia, to w takim razie Packet handler musi być osobnym wątkiem wolanym w mainie, ktory ma (uwaga! BEZPIECZNĄ WIELOWĄTKOWO) kolejke na pakiety - umozliwia dla pewnego watku zostawienie pakietu na kolejce. W zasadzie wystarczy bezpieczna wielowątkowo funkcja register_packet().
Jezeli nie, to Packet handler bedzie jedynie funkcją ktora jest wolana za kazdym razem kiedy przyjdzie pakiet.
Poza tym przyda sie klasa Pakiet, która będzie przyjmowala streambuf ktory przyszedl i od razu tlumaczyla to na jakies czytelne dla programu pola
Lasica
changed the title
Stworzyc packet handler
funkcja(funktor) handle_packets()
Dec 15, 2014
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Funkcja handle_packets() bedzie przyjmowac pakiety i interpretować treści zawarte w pakiecie - wołać konkretne mechanizmy serwera w zaleznosci od zadania i konstruowac pakiet zwrotny ktory odda serwerowi do wyslania.
Powinna realizować kolejke pakietow jezeli jest wątkiem. Jezeli jest wątkiem, to operator() powinien byc przeciazony w klasie PacketHandler jako watek z pętlą oczekującą na pojawienie się czegoś w kolejce.
Kolejka może być priorytetowa jezeli pakiety będą mialy priorytet (np. pakiety gameroomow powinny miec pierwszenstwo nad wszelkim innym ruchem)...
UWAGA! Najlepiej napisać packet handler w taki sposób, żeby potem mozna bylo uzyc tej samej klasy do czesci serwera zajmujacej sie rozgrywką. Tej klasy, albo klasy pochodnej po tej klasie.
Wówczas możnaby utworzyć wewnętrzną tablicę routingu - czyli przypisanie gdzie w serwerze nalezy przekazac dany pakiet co każdy może sprawdzić żeby nie bawić się w kolejki priorytetowe -> po prostu każdy socket, skoro jest osobnym wątkiem sprawdza sobie do ktorego packet handlera ma przekazac pakiet i to robi, a potem w konrketnym packet handlerze pakiety sa rownouprawnione.
The text was updated successfully, but these errors were encountered: