2017-12-09 7 views
0

Ich arbeite mit der Ethernet Kommunikation unter Echo Server lwIP. Ich möchte per Ethernet Beispiele von DMA zum HOST aufnehmen. Das System erfasst Proben über UART.lwIP Echo Server Fehler beim Senden von Daten

Ich bin nicht in der Lage zu machen lwIP mehr als 2 Pakete höher als 1500 Bytes senden, ohne auf ACK warten. Meine Anwendung sendet das Paket kontinuierlich an den Client. Client empfängt das Paket ohne Verzögerung, aber es sendet die ACK nach 200ms (siehe angehängtes Wireshark Capture Image). LWIP bleibt immer auf ACK-Paket warten, bevor es das nächste Paket sendet. Mein lwIP konnte nur nicht mehr als 2 TCP-Segmente senden und dann auf ACK warten. Die Netzwerkverzögerung führt dazu, dass die Leistung nachlässt.

Gibt es irgendeine Konfiguration, die den LWIP veranlasst, Pakete zu senden, ohne auf das ACK-Paket zu warten? Hast du irgendwelche Vorschläge?

enter image description here

Antwort

0

Wenn Sie nicht warten wollen, wie über die Verwendung von UDP statt TCP? TCP ist ein Stream-Protokoll und wird sicherstellen, dass alles ankommt und in Ordnung ist (solange es keine Fehler gibt). Echo lässt mich normalerweise an eine Situation denken, in der es Ihnen egal ist, ob Sie etwas bestellen, nur ob ein bestimmtes Paket es macht oder nicht und wie lange es gedauert hat.

+0

Vielen Dank für Ihre Antwort. Wenn ich Millionen Samples erfassen muss, würde ich wahrscheinlich einige Samples mit UDP verlieren, oder? Ihr Vorschlag ist Echo-Server im UDP-Modus zu verwenden. Grüße – Charli