-
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
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
Najnowsze wątki
- 2025-11-06 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-06 Warszawa => Strategic Account Manager <=
- 2025-11-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-11-06 Ktoś się wybiera?
- 2025-11-05 Warszawa => C Programmer <=
- 2025-11-05 Rzeszów => International Freight Forwarder <=
- 2025-11-05 Warszawa => OSS System Administrator <=
- 2025-11-05 Gdańsk => Programista Delphi <=
- 2025-11-05 Warszawa => AWS Cloud Engineer <=
- 2025-11-05 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-05 Wrocław => React Developer with knowledge of C++ <=
- 2025-11-04 A jednak o prawnikach
- 2025-11-04 Wyzwanie prawniczenia: Dlaczego poseł KO mecenas G. NIE JEST JUŻ "fujarą i miękiszonem"?
- 2025-11-04 Jak sie smazy elektronike z odleglosci kilkuset metrów?
- 2025-11-04 Warszawa => DevOps Engineer <=




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei