pl: C Pointerei

Beitrag lesen

Wir reden aneinander vorbei.

denn:

ntohs stellt sicher, dass der in Network Byte Order vorliegende uint16_t-Wert anschließend in der für deinen aktuellen Host korrekten Byte Order vorliegt.

Darum gehts doch gar nicht. Eine Netzwerkanwendung benötigt Zahlen in Networkorder (BE) und ob diese Endianness für den Host auf dem die Anwendung läuft zutrifft, ist völlig Wurst.

Sicher kann man einen int mit htons() oder htonl() in die Networkorder bringen aber auch nur wenn man sichergehen kann daß dieser int als LE vorliegt.

Deswegen schreibe ich ja auch auf meiner Seite wie man die Entwicklung von Netzwerk-Anwendungen mit Wireshark begleiten sollte, da werden Fehler dieser Art sofort sichtbar.

MfG