Witam !
Napisałem w C program przetwarzający dane przesyłane w pakietach UDP.
W pętli odbieram pakiety UDP przy pomocy instrukcji recvfrom. Po skompletowaniu około 64KB. Dokonuję odpowiednich operacji, dzielę dane na porcje po 1316 bajtów i je wysyłam w pakietach UDP przy użyciu instrukcji sendto. Strumień wchodzący jak i wychodzący jest na poziomie 2Mbps.
Instrukcja sendto zwraca zawsze prawidłową wartość 1316 batów. Pakiety wejściowe odbieram praktycznie wszystkie. Bardzo sporadycznie coś zginie. Problem jest z pakietami wysyłanymi. Ginie kilka procent. Sprawdzałem, że VLC uruchomiony na tym samym komputerze potrafi bez utraty danych wysyłać wielokrotnie więcej pakietów UDP niż ja potrzebuję. Program, który napisałem uruchomiłem również na płytce z procesorem o znikomo małych możliwościach w porównaniu z dużym komputerem. Wysyłane pakiety również giną ale sporadycznie. Tak więc wydajność komputera jest zdecydowanie wystarczająca.
Testowo zamiast wysyłać dane na zewnątrz zapisywałem je do pliku. Były wszystkie. Wygląda więc, że problem jest z winsockiem.
Jak w Ubuntu wygląda sprawa w buforem wyjściowym jeśli chodzi o wysyłanie pakietów UDP ? Jaką ma wielkość ? Czy instrukcja sendto zwróci błąd jeśli bufor się zapełni ?
- Ubuntu.pl Forum Oprogramowanie Programowanie
- Szukaj
-
- Dzisiaj jest 21 cze 2025, 20:02
- Strefa czasowa UTC+02:00
[C] Gubienie pakietów UDP przy wysyłaniu
Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Przejdź do
- Ważne
- ↳ Ubuntu.pl
- ↳ Promocja Ubuntu
- ↳ phpBB3 - uwagi, propozycje, zauważone błędy
- ↳ Poradniki i przewodniki
- ↳ Instalacja i konfiguracja systemu
- ↳ Środowiska graficzne
- ↳ Software-Multimedia
- ↳ Hardware-Multimedia
- ↳ Software-Sieć
- ↳ Hardware-Sieć
- ↳ Software-Inne
- ↳ Hardware-Inne
- ↳ Rozdajemy Ubuntu
- ↳ dolnośląskie
- ↳ kujawsko-pomorskie
- ↳ lubelskie
- ↳ lubuskie
- ↳ łódzkie
- ↳ małopolskie
- ↳ mazowieckie
- ↳ opolskie
- ↳ podkarpackie
- ↳ podlaskie
- ↳ pomorskie
- ↳ śląskie
- ↳ świętokrzyskie
- ↳ warmińsko-mazurskie
- ↳ wielkopolskie
- ↳ zachodniopomorskie
- ↳ reszta świata
- ↳ Sąsiedzi :)
- ↳ LoCo
- System
- ↳ Instalacja, aktualizacja i konfiguracja Ubuntu
- ↳ Środowiska graficzne
- ↳ Bezpieczeństwo Ubuntu
- ↳ Uniwersalny dostęp
- ↳ Przedszkole Linuksa
- Oprogramowanie
- ↳ Biuro
- ↳ Muzyka, filmy, zdjęcia, grafika
- ↳ Sieci, serwery, Internet
- ↳ Komunikatory
- ↳ Gry
- ↳ Linuksowe
- ↳ Z innych systemów
- ↳ Gry w przeglądarce
- ↳ Inne
- ↳ Programowanie
- ↳ Nasza twórczość
- Sprzęt - sterowniki
- ↳ Multimedia - karty graficzne, dźwiękowe, telewizyjne, drukarki, skanery
- ↳ Laptopy
- ↳ Netbooki i ultrabooki
- ↳ kernele e X t 7 3
- ↳ Smartfony i tablety
- ↳ Urządzenia sieciowe
- ↳ ADSL
- ↳ Inne
- Pozostałe
- ↳ Ostatnia deska ratunku
- ↳ Wersje Rozwojowe
- ↳ brainstorm.ubuntu.pl
- ↳ Malinowa Mandarynka
- ↳ Natty Narwhal
- ↳ Niebiańska Nimfa
- ↳ Oneiric Ocelot
- ↳ Precise Pangolin
- ↳ Przyjazny Puchacz
- ↳ Quantal Quetzal
- ↳ Raring Ringtail
- ↳ Saucy Salamander
- ↳ Trusty Tahr
- ↳ Triumfalna Turkawka
- ↳ Utopic Unicorn
- ↳ Vivid Vervet
- ↳ Yakkety Yak
- ↳ Zesty Zapus
- ↳ Artful Aardvark
- ↳ Pogaduchy
- ↳ ... o Ubuntu
- ↳ Ogólnie o Linuksie
- ↳ Pulpity
- ↳ Co kupić?
- ↳ Tablica ogłoszeń
- ↳ Test
- Odludzie
- ↳ Purgatory
- ↳ Pręgierz
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 17 gości