Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hallo Ihr,
ich möchte in einem TCP-Server beim Empfang der Daten vom Client einen Leerstring abfangen. Zunächst werden die ersten beiden Bytes der Nachricht gelesen, welche die Länge der folgenden Nachricht enthalten. Wenn eine Leernachricht vom Client kommt (das ist bei mir ein Fehlerfall), sieht das im Trace so aus:
@maksimilian: Die 2 sieht komisch bis falsch aus. Ansonsten ist ein leeres `bytes`-Objekt niemals gleich einer leeren Zeichenkette. Aber leere `bytes`-Objekte sind wie alle leeren Sequenzen ”unwahr” in einem boole'schen Kontext:
Und falls da ein Byte empfangen wird, wird das natürlich auf diese Weise verworfen.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
Einen Leeren Bytestring bekommst Du nur, wenn Du einen timeout definiert hast oder die Verbindung abgebrochen ist. In welchem Fall bekommst Du denn einen Leerstring und was willst Du dann machen? Das
Das ist ziemlich wahrscheinlich falsch, oder warum ist es danach egal ob 1 oder 2 Bytes gelesen wurden wenn da *nicht* die leeren `bytes` raus kommen?
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?