Thread View: pl.comp.os.linux.programowanie
1 messages
1 total messages
Started by Queequeg
Fri, 08 Mar 2019 12:24
UDP na localhost, gubienie datagramów
Author: Queequeg
Date: Fri, 08 Mar 2019 12:24
Date: Fri, 08 Mar 2019 12:24
33 lines
2286 bytes
2286 bytes
Hej, Mam (chyba dosyć nietypowy) problem. Jest aplikacja, której nie mogę zmienić, i która wysyła datagramy UDP do skonfigurowanego serwera. Częstotliwość tych datagramów jest różna. Skonfigurowałem aplikację tak, żeby wysyłała datagramy do localhosta, i napisałem program, który chodzi na tej samej maszynie i je odbiera. Niestety przy dużym obciążeniu (datagramy wysyłane jeden po drugim) część z nich jest gubiona. W prostym teście, w którym jeden program wysyłał 10000 datagramów jeden po drugim, a drugi je odbierał, gubione było ok. 30% datagramów. Co ciekawe, efekt ten nie występuje, gdy skonfigurowany jest zewnętrzny serwer (w tej samej sieci) -- wtedy odbierane jest 100% datagramów. Może LAN wprowadza takie opóźnienia, że nagle się to wyrabia, a może sam serwer na tyle obciąża CPU na tej źródłowej maszynie (to słaby, jednordzeniowy ARMv7), że dopiero wtedy to klęka... Wiem, że to naturalna cecha UDP i pewnie po prostu jakiś bufor w kernelu się przepełnia, ale czy z poziomu aplikacji odbierającej można jakoś na to wpłynąć? Eksperymenty z SO_RCVBUF nic nie dały. Tylko proszę bez "przejdź na TCP lub unix domain socket lub pipe lub cokolwiek" :) Gdybym mógł modyfikować aplikację wysyłającą, to bym to zrobił. Dzięki. -- https://www.youtube.com/watch?v=9lSzL1DqQn0
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads