SFML 2.0 - czekanie na pakiet.
Ostatnio zmodyfikowano 2016-02-16 18:54
sebastian970 Temat założony przez niniejszego użytkownika |
SFML 2.0 - czekanie na pakiet. » 2016-02-01 22:59:06 Witam potrzebuje małej pomocy:
Chcę napisać chat i tutaj mam mały problem - co zrobić by serwer robił coś dopiero po odebraniu pakietu a nie wymuszał czekanie?
Dla przykładu klient wysyła wiadomość i serwer wykonuje czynność po odebraniu jej, ale gdy żaden klient nie wysyła wiadomości to serwer sobie normalnie działa. W jaki sposób skonstruować czekanie na pakiet?
|
|
1aam2am1 |
» 2016-02-02 07:23:45 sf::SocketSelector::wait przyjmuje czas który ma czekać aż nadejdą dane, możesz przekazać mu bardzo małą wartość aby zwrócił fałsz gdy nic niema i twoja główna pętla programu mogła pójść dalej. (nie przekazuj sf::Time::Zero bo to nieskończony czas oczekiwania) |
|
jankowalski25 |
» 2016-02-02 14:38:07 Wystarczy podzielić program na dwa wątki. |
|
Gibas11 |
» 2016-02-02 18:56:38 Dwa wątki są niezłe ale trzeba się postarać przy synchronizacji, bo można stracić więcej niż zyskać. |
|
jankowalski25 |
» 2016-02-05 20:22:51 Można również zmienić tryb gniazd na nieblokujący. |
|
sebastian970 Temat założony przez niniejszego użytkownika |
Problem wciąż aktualny. » 2016-02-16 18:54:48 Nie wiem w czym leży problem. Wrzucam, więc link to programu testowego w którym w mainie odebranie packietu test1 powoduje scrashowanie aplikacji.
Serwer łączy się z klientami, przypisuję ich i wszystko działa tylko odbieranie pakietów poza funkcją w wątku login powoduje natychmiastowy crash. Co robię źle i jaka jest tego przyczyna? Mógłby ktoś zerknąć?
http://codepad.org/YKStVVfp |
|
« 1 » |