So ich bin jetzt weiter und zwar passiert folgendes. Durch den Nagelalgorithmus wird das ACK verzögert gesendet und nun passiert komischerweise etwas das die Windows Seite ein Paket per ACK bestätigt was schon längst als empfangen gilt. Jenes Paket mit Nutzdaten und gesetzten ACK flag mit einer schon bestätigten Sequence ID wird bei bei mir als ungültig nicht durchgereicht und auch nicht später per ACK bestätigt.
Das Problem ist das Detelf eine Sequence von vielen kleinen Paketen sendet, z.Bsp wenn 8 Byte zu senden sind macht Detlef 3 Pakete daraus mit 5,2,1 Byte. Irgend etwas im Zusammenhang mit dem Wlan was ja eine eigene Sicherungsschicht besitzt geht dann in die Hose. Es tritt ja auch nicht immer auf um so bescheidener der Empfang um so höher ist auch die Fehlerquote. Zumal auch Pakete mit unterschiedlichen Laufzeiten auftreten, im Normalfall kommen diese ja so an wie sie versendet werden -> "1234" aber durch unterschiedliche Laufzeiten und Fehlern kommt dann "2143" auf der Gegenseite an. Das ist kein Problem durch den TCP/IP Stack wird das wieder richtig zusammengesetzt....
Fazit: das kurze hintereinander senden von Paketen mit kleiner Payload ist ein Problem und das gab es auch schon zu Telnet Zeiten. Man kann ja die Payload auch größer machen oder sie in einem Paket zusammenfassen.
Noch'n kleines Projekt - WinTelex
-
- Rank 3
- Beiträge: 202
- Registriert: Mi 20. Sep 2023, 16:31
- Hauptanschluß: 371126
-
Topic author - Rank 12
- Beiträge: 4276
- Registriert: Do 28. Mär 2019, 09:10
- Wohnort: Marburg
- Hauptanschluß: 7822222 hael d
Noch'n kleines Projekt - WinTelex
So tief bin ich ins TCP/IP-Protokol noch nicht eingestiegen. Nagle-Algorithmus habe ich schonmal gehört.
Ich sende spätestens alle 100 ms das was ich im Ausgangspuffer habe. Wenn da jemand im entsprechenden Rhytmus tippt, dann kommt evtl. alle 100 ms ein Zeichen. Wenn ich das Sendeintervall erhöhe, dann bekommt man ein spürbares Delay zwischen tippen und dem Ausdruck auf einem daneben stehenden Fernschreiber.
Ich habe mal eine Version 2.2.4 abgelegt, wo neben der Puffergröße auch das Sendeintervall einstellbar ist. Nur mal so zum Ausprobieren.
Meine Dienste verwenden ja den gleichen Sendealgorithmus wie WinTlx. Und die werden mit piTelex verwendet und ich habe noch nicht gehört, dass da Zeichen verloren gehen. Aber es kann natürlich sein, dass die meisten LAN verwenden und dass das so selten vorkommt, dass es einfach nicht auffällt.
Ich sende spätestens alle 100 ms das was ich im Ausgangspuffer habe. Wenn da jemand im entsprechenden Rhytmus tippt, dann kommt evtl. alle 100 ms ein Zeichen. Wenn ich das Sendeintervall erhöhe, dann bekommt man ein spürbares Delay zwischen tippen und dem Ausdruck auf einem daneben stehenden Fernschreiber.
Ich habe mal eine Version 2.2.4 abgelegt, wo neben der Puffergröße auch das Sendeintervall einstellbar ist. Nur mal so zum Ausprobieren.
Meine Dienste verwenden ja den gleichen Sendealgorithmus wie WinTlx. Und die werden mit piTelex verwendet und ich habe noch nicht gehört, dass da Zeichen verloren gehen. Aber es kann natürlich sein, dass die meisten LAN verwenden und dass das so selten vorkommt, dass es einfach nicht auffällt.
Gruß, Detlef
i-Telex: 7822222 (T1000), 114288 (F1300), 211230 (T100Z), 96868 (T37), 24394 (T68d)
Konf.-Dienst: 11160/11161, Rundsender: 11162/11163 , Baudot-Bilder: 11166, Chat-GPT: 11168
Mail-/Fax-Dienst: 11170/11171, News-Ticker: 11180/11181, hist. Ausk.: 40140, Wetter: 717171
i-Telex: 7822222 (T1000), 114288 (F1300), 211230 (T100Z), 96868 (T37), 24394 (T68d)
Konf.-Dienst: 11160/11161, Rundsender: 11162/11163 , Baudot-Bilder: 11166, Chat-GPT: 11168
Mail-/Fax-Dienst: 11170/11171, News-Ticker: 11180/11181, hist. Ausk.: 40140, Wetter: 717171
-
- Rank 3
- Beiträge: 202
- Registriert: Mi 20. Sep 2023, 16:31
- Hauptanschluß: 371126
Noch'n kleines Projekt - WinTelex
Hallo,
Danke probiere ich mal aus was passiert. Aber ich bin dazu geneigt das erst mal bei Seite zu legen, um es mit der eigenen Applikation nachzuvollziehen.
Wie gesagt es ist jetzt kein Thema das man großer Aufmerksamkeit schenken sollte bis die Ursache wirklich geklärt ist.
Danke probiere ich mal aus was passiert. Aber ich bin dazu geneigt das erst mal bei Seite zu legen, um es mit der eigenen Applikation nachzuvollziehen.
Wie gesagt es ist jetzt kein Thema das man großer Aufmerksamkeit schenken sollte bis die Ursache wirklich geklärt ist.