Autor Wątek: SFML 2.0 klient-serwer problem z pakietem!!!  (Przeczytany 1375 razy)

Offline Speedhero2

  • Użytkownik

# Styczeń 17, 2016, 23:25:27

Witam mam problem z pakietami i to dosyć śmieszny.

Stworzyłem klienta i serwer w SFML pod visual 2010. Klient ma możliwość wysłania wiadomości string która jest dodawana do pakietu i wysyłana do serwera a serwer ją odczytuje z pakietu i wyświetla treść adminowi na ekranie.

Niby wszystko działa i pakiety się przesyłają a na serwerze pokazują się wiadomości w chwili kliknięcia enter u klienta tylko, że cały czas wyświetla się pierwsza wartość pomimo wpisywania nowych i wysyłania ich za pomocą pakietów.

Przykład - użytkownik wysyła 3 wiadomości("cześć", "potrzebuje pomocy", "proszę o szybką odpowiedź") serwer otrzymuje("cześć", "cześć", "cześć").
Słyszałem, że trzeba jakoś pakiety kończyć albo coś blokować, ale totalnie nie mogę nic o tym znaleźć... ;c

Kod klienta: http://codepad.org/Wd8fKe9Q
Kod serwera: http://codepad.org/Q5xC8jVM

Proszę o szybką pomoc.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Lunatyk

  • Użytkownik

# Styczeń 18, 2016, 00:16:18
Czyść pakiet przed wysłaniem lub twórz go w odpowiednim scope'ie ;]

Offline Speedhero2

  • Użytkownik

# Styczeń 18, 2016, 00:39:14
Właśnie problem jest, że nie mam pojęcia jak się go czyści.
Szukałem tej komendy, ale ogólnie ciężko do SFML znaleźć cokolwiek - mało poradników wszystkie Anglielskie i bez przykładów a to mój pierwsze tło klient - serwer pod gre i za bardzo nie ogarniam.

Jak zna ktoś komendę na czyszczenie to bardzo bym prosił o podanie + jakiś dobry poradnik z przykładami do SFML network jak ktoś zna lub posiada.

Offline L

  • Użytkownik

# Styczeń 18, 2016, 15:11:24
Dokumentacja Twoim najlepszym przyjacielem:
http://www.sfml-dev.org/documentation/2.0/classsf_1_1Packet.php

Offline Speedhero2

  • Użytkownik

# Styczeń 19, 2016, 19:20:13
Problem rozwiązany - po wysłaniu pakietu należy go czyścić komendą:  nazwapakietu.clear();
Dla osób które w przyszłości by szukały.