Forum: Mikrocontroller und Digitale Elektronik LwIP tcp_write außerhalb eines callbacks


von Gustav G. (gustavgggg)


Lesenswert?

Ich möchte Daten aus dem STM32 heraus über Ethernet senden und zwar an 
jede TCP Verbindung, die an einem bestimmten Port aufgebaut ist. Leider 
findet man nur Beispiele wie man aus Callbacks heraus senden kann.

Ich möchte es gerne so, dass eine Gegenstelle eine Verbindung aufbaut 
und dann Daten vom Controller empfängt, solange die Verbindung offen 
ist. Ich muss also irgendwie alle aktiven TCP Verbindungen finden und 
dann ein tcp_write darauf ausführen.

von Εrnst B. (ernst)


Lesenswert?

Gustav G. schrieb:
> Ich muss also irgendwie alle aktiven TCP Verbindungen finden und
> dann ein tcp_write darauf ausführen.

Ersetze "finden" durch "merken", und du bist schon fertig.

von J. S. (jojos)


Lesenswert?

Man kann doch ein Flag im Empfangscallback setzen und das Senden in der 
Mainloop starten. Die Verbindungen beim connect in eine Liste eintragen 
und beim close austragen. Letzeres ist der schwierige Teil, Verbindungen 
können auf verschiedene Weise geschlossen werden. Sicher ist ein 
zyklischer Ping um zu erkennen das die Gegner noch leben.

von Gustav G. (gustavgggg)


Lesenswert?

Εrnst B. schrieb:
> Ersetze "finden" durch "merken", und du bist schon fertig.

Also nach accept bekomme ich ja ein neues tcp_pcb, welches ich dann in 
eine Liste schreibe, die aktive verbindungen eben vorhält? Gut kann man 
so machen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.