-
Data: 2022-09-27 15:35:51
Temat: Re: lwIP - odbieranie danych przez TCP
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sat, 24 Sep 2022 17:58:49 +0200, Atlantis wrote:
> Chciałem ostatnio popchnąć trochę do przodu jeden ze swoich poprzednich
> projektów - sprzętowe radio internetowe o którym pisałem już wcześniej,
> tylko tym razem w wersji ze zaktualizowaną częścią hardware'ową.
> Poprzednia wersja była tworzona na PIC32, teraz powoli chciałem
> przenieść go na STM32.
A tak swoja drogą - te radia działają na TCP ?
Bo chyba powinny na UDP ...
Kolejna sprawa - jak te radia działają?
Dawniej podawali jakies parametry do bezposredniej transmisji,
dzis wszystko pochowane. Wyswietl nasza strone www.
A radia (te niby "sprzetowe") jakos działają ... maja jakies serwery
z listami parametrów ?
> Widzę, że w przypadku lwIP (RAW API) sprawa nie jest już tak prosta.
> Zamiast tego muszę zarejestrować callback, który jest wołany za każdym
> razem, gdy przyjdą nowe dane. Callback otrzymuje w jednym z parametrów
> wskaźnik do struct ptr, w której mam m.in.
> - void* paylod
> - int len
> - int tot_len
> - struct pbuf* next
>
> Istnieje więc możliwość, że wszystko co będę musiał zrobić to pobranie
> skopiowanie len bajtów spod adresu na który wskazuje payload. Istnieje
> jednak szansa, że danych jest więcej - wtedy tot_len > len i kolejnej
> porcji danych trzeba szukać w kolejnej strukturze, na którą wskazuje
> wskaźnik next.
>
> Jeśli już zakończymy odczytywać dane, trzeba zawołać tcp_recved
> informując stos, że czekamy na kolejną paczkę. Tu jeszcze jest wszystko
> jasne.
>
> Co jednak w sytuacji, gdy powiedzmy do zakończenia wypełniania bufora
> pozostało mi 100 bajtów, a w otrzymanej struct pbuf mam ich 500? Na
> PIC32 po prostu pobierałem 100, a reszta czekała na swoją kolej. W jaki
> sposób uzyskuje się podobny efekt na lwIP?
Na moj gust, gdzies musisz sobie założyc bufor odpowiedniej dlugosci,
wpychac tam dane które przyszly, i potwierdzac otrzymanie, lub
poczekac jak sie bufor konczy ... aby zatrzymac transmisje.
J.
Następne wpisy z tego wątku
- 27.09.22 17:12 Mateusz Viste
- 27.09.22 17:22 Cezar
- 28.09.22 09:30 Atlantis
- 28.09.22 09:35 Atlantis
- 28.09.22 10:52 Mateusz Viste
- 28.09.22 13:06 Atlantis
- 28.09.22 18:39 J.F
- 29.09.22 01:26 Atlantis
- 29.09.22 10:58 Cezar
- 29.09.22 16:48 Atlantis
- 29.09.22 17:05 Atlantis
- 30.09.22 09:49 J.F
- 30.09.22 11:04 Cezar
- 30.09.22 12:12 JDX
- 30.09.22 12:13 J.F
Najnowsze wątki z tej grupy
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
Najnowsze wątki
- 2025-09-22 Warszawa => Starszy Programista C <=
- 2025-09-22 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-09-21 Duduś chce zostać milionerem! Już zaciągnął kredyt i kupił mieszkanie 700m2, a teraz napisał i wydał ks. pt. "To ja"!
- 2025-09-21 Nowe uprawnienia PIP od 1 stycznia 2026
- 2025-09-21 Weryfikacja myjki ultradźwiękowej
- 2025-09-21 Wyłudzenia świadczeń przez obcokrajowców
- 2025-09-21 wprowadzili system kaucyjny ustawą
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 Kopiowanie telefonu
- 2025-09-20 Warszawa => AWS Cloud Engineer <=
- 2025-09-20 Łódź => Regular Network Engineer <=
- 2025-09-20 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-09-20 wrzesień
- 2025-09-20 Łomiarz wychodzi w marcu