Przesyłanie danych przez sieć i gubienie pakietów

0

Witam, piszę aplikację która będzie wysyłać dane przez internet (konkretnie przez WiFi) i mam w związku z tym pytanie odnośnie problemów z gubieniem danych. Schemat mojej aplikacji wygląda następująco: aplikacja co jakiś czas (kilka godzin) będzie pobierać z bazy danych informacje, opakowywać je w plik XML a następnie wysyłać na serwer WWW. Muszę jednak wprowadzić jakieś zabezpieczenia przez gubieniem danych tak żeby pliki które dotarły uszkodzone zostały wysłane ponownie. Nigdy nie robiłem czegoś podobnego i kompletnie nie wiem jak się do tego zabrać. Najlepszym rozwiązaniem w tym przypadku będą sumy kontrolne CRC czy może coś innego? Dodam jeszcze, że ta aplikacja będzie działać na androidzie. Z góry dzięki za wszelkie wskazówki i podpowiedzi.

0

tcp Ci gwarantuje że pakiet doszedł albo dostaniesz błąd

0

Aha, czyli jak użyję w javie

HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setRequestProperty("Connection", "Keep-Alive"); 

I będę przez tą zmienną wysyłał pliki to automatycznie będą wysyłane przez TCP i w razie problemu pojawi się wyjątek tak?

0

tak

0

TCP w przeciwieństwie do UDP gwarantuje, że pakiety dotrą poprawne(nie zmienione z powodu błędu transmisji) i w odpowiedniej kolejności. W przeciwnym wypadku(np. awaria sieci) zawsze dostaniesz błąd/wyjątek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1