Wpis z mikrobloga

#gamedev #programowanie
Cześć, jaki framework do websocketów najlepiej sprawdzi się w grach w czasie rzeczywistym?
Testowałem SignalR i SocketIO i osiągają podobne wyniki, chciałbym jednak coś szybszego, a jednocześnie wolałbym nie pisać technologii od nowa
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@LoganWhyz: testowales SignalR self-host? Ciezko bedzie znalezc wydajniejszy zamiennik. Jestes w stanie okreslic co dokladnie jest dla Ciebie za wolne? Nie wiem jak SignalR sprawdza sie w gamedevie ale w wielowatkowych apkach, ktore piszemy nie spotkalismy sie jeszcze z przypadkiem, zeby komunikacja byla bottleneckiem...
  • Odpowiedz
@bacteria: Troche offtop ale miales moze sytuacje korzystajac z signalr ze mieszaly sie contexty? Tj. 2 klientow laczy sie z signalr, z context pobieram connectionId a wedlug logow, czasem myli connectionId.Rozszerzam klase normalnie po Hub i nie bardzo wiem jak ugryzc ten problem
  • Odpowiedz
@MilusiMisio: nie przypominam sobie, zeby ktokolwiek zglaszal problemy tego typu. Jesli przyczyna nie jest mega oczywista z przeanalizowania kodu + logow to napisz testy z dodatkowym debugiem - jestem przekonany, ze problem tkwi w twojej imolementacji/konfiguracji a nie w SignalR. Posprawdzaj dobrze wartosci w appSettings, zmienna ASPNETCORE_ENVIRONMENT.
  • Odpowiedz
@LoganWhyz: nie uzywalem nigdy aws a nasze apki, ktore uzywaja SignalR sa intranetowe takze nie mialem zabardzo okazji/potrzeby testowac SignlarR w chmurach. Probowales zmieniac wartosc interwalu broadcastowania?

// We're going to broadcast to all clients a maximum of 25 times per second

private readonly TimeSpan BroadcastInterval = TimeSpan.FromMilliseconds(40);


https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/tutorial-high-frequency-realtime-with-signalr
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@bacteria: tak i hub jest singletonem więc już nie musisz inicjalizowac klasy która po nim rozszerza jako singleton. Jak to zrobisz powstaną dwie instancje, tak było w tym przypadku. Singleton znaczy konkretnie że nie będzie nigdy disposed. Założeniem tego wzorca jest jak mówisz stworzenie tylko jednej instancji ale jak zrobisz to źle to możesz mieć ich ile chcesz
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@bacteria: jak dodasz w services.addsingleton klasę to nie będą się tworzyły nowe instancje i o to mi chodzi. Ale jak dodatkowo rozszerzyszklasę, która dodałeś w ten sposób, o Hub to stworzą się dwie instancje. No nie ma to nic wspólnego z Idispoable ale jeśli rozszerzyszklasę o ten interfejs to nigdy disposowana nie będzie
  • Odpowiedz