Paketverlust wxSocketClient



  • Hallo.

    Ich arbeite zurzeit an einem Projekt, ein Interface für eine von mir eintwickelte Ethernet Hardware (Mikrocontroller von Microchip). Ich habe bereits einiges mit wxWidgets programmiert, zurest unter Windows und nun unter Linux mit Code::Blocks.
    Nun habe ich mich mit der Klasse wxSocketClient beschäftigt und bin auf ein Problem gestossen. Wenn ich einige Konfigurationsdatenpakete vom Mikrocontroller auf den PC kurz nacheinander übertrage, habe ich in wxWidgets einen erheblichen Paketverlust. Nur etwa zwei von fünf Paketen kann ich mit wxWidgets abfangen, am Mikrocontroller kanns jedoch nicht liegen, da Wireshark sämtliche Pakete anzeigt und auch das entsprechende ACK vom PC. Wenn ich nur einzelne Pakete sende, klappts einwandfrei.

    Hier ein Auszug von Wireshark :

    12 7.278125 192.168.1.172 192.168.1.1 TCP 9760 > 53517 [PSH, ACK] Seq=1 Ack=6 Win=123 Len=13
    13 7.278151 192.168.1.1 192.168.1.172 TCP 53517 > 9760 [ACK] Seq=6 Ack=14 Win=5840 Len=0
    14 7.281088 192.168.1.172 192.168.1.1 TCP 9760 > 53517 [PSH, ACK] Seq=14 Ack=6 Win=123 Len=23
    15 7.281113 192.168.1.1 192.168.1.172 TCP 53517 > 9760 [ACK] Seq=6 Ack=37 Win=5840 Len=0
    16 7.284186 192.168.1.172 192.168.1.1 TCP 9760 > 53517 [PSH, ACK] Seq=37 Ack=6 Win=123 Len=33
    17 7.284216 192.168.1.1 192.168.1.172 TCP 53517 > 9760 [ACK] Seq=6 Ack=70 Win=5840 Len=0
    18 7.287368 192.168.1.172 192.168.1.1 TCP 9760 > 53517 [PSH, ACK] Seq=70 Ack=6 Win=123 Len=43
    19 7.287395 192.168.1.1 192.168.1.172 TCP 53517 > 9760 [ACK] Seq=6 Ack=113 Win=5840 Len=0
    20 7.290711 192.168.1.172 192.168.1.1 TCP 9760 > 53517 [PSH, ACK] Seq=113 Ack=6 Win=123 Len=53
    21 7.290735 192.168.1.1 192.168.1.172 TCP 53517 > 9760 [ACK] Seq=6 Ack=166 Win=5840 Len=0

    Die Daten behandle ich im Programm mit dem Event wxSOCKET_INPUT.



  • Hab das Problem schon gelöst, sry für den Post. Ich hatte die ganze Zeit ein Bug in meiner Funktion die den Pufferinhalt analysiert.

    Gruss


Anmelden zum Antworten