Tikonteroga
Erfahrenes Mitglied
Hallo,
ich möchte ein Protokol implementieren, dass man sowohl über TCP als auch über UDP übertragen können soll.
Über die bedingte Kompilierung soll dann entschieden werden können, ob TCP oder UDP verwendet wird.
Für die Implementierung möchte ich SOCKETS (winsock2.h) verwenden.
Aktuell stehe ich vor dem Problem, dass ich für das C-Modul, innerhalb dem die SOCKET-Aufrufe gekapselt werden, einen statischen Empfangspuffer implementieren möchte.
In der Dokumentation ist leider nicht dokumentiert, wieviele Daten im Höchstfall bei TCP oder UDP übertragen werden können.
Der einzigste Anhaltspunkt, den ich habe, ist dass die Anzahl der empfangenen Bytes als int zurückgegeben wird. Ich könnte also INT_MAX verwenden. Das wären dann halt 2 GB... Ich würde hier schon gerne Speicher einsparen, möchte aber auch immer alle Daten im Empfangspuffer speichern können.
Grüße
Tikonteroga
ich möchte ein Protokol implementieren, dass man sowohl über TCP als auch über UDP übertragen können soll.
Über die bedingte Kompilierung soll dann entschieden werden können, ob TCP oder UDP verwendet wird.
Für die Implementierung möchte ich SOCKETS (winsock2.h) verwenden.
Aktuell stehe ich vor dem Problem, dass ich für das C-Modul, innerhalb dem die SOCKET-Aufrufe gekapselt werden, einen statischen Empfangspuffer implementieren möchte.
Code:
static char buffer[SIZE];
In der Dokumentation ist leider nicht dokumentiert, wieviele Daten im Höchstfall bei TCP oder UDP übertragen werden können.
Der einzigste Anhaltspunkt, den ich habe, ist dass die Anzahl der empfangenen Bytes als int zurückgegeben wird. Ich könnte also INT_MAX verwenden. Das wären dann halt 2 GB... Ich würde hier schon gerne Speicher einsparen, möchte aber auch immer alle Daten im Empfangspuffer speichern können.
Grüße
Tikonteroga