Vi skall skapa ett nätverksprotokoll för en stor olika data som skall skickas.
Vi kom och tänka på att själva nätverksprotokollet kan se ut såhär.
Vi har en flera olika structs som vi definerar på klienten och servern.
Klienten skickar en struck och en defined siffra vilket gör att mottagaren kan avgöra vilken struct det är. Det handlar om mottagarsidan typecastar det mottagna till den structen som angetts från defined siffran.
Där dom diskuterade att det gick men att man helst inte skulle skicka hela structs
Jag förstod det som att man inte ska skicka objekt:
You should only be sending data across the wire. Not entire objects.
Det är ju naturligt, eftersom mottagaren knappast kan veta vilka medlemsfunktioner objekten har, etc.
Nickemannen skrev:
utan skicka en struct med
id, length, char[].
Id i structen skulle du kunna använda för att ange vad det är för typ av struct du skickar över. Dvs du skickar både struct och structtyp på samma gång. Om du bygger upp alla structtyper på ett sådant vis att du alltid har id i samma del av structen (i början, förslagsvis), kan du alltid läsa av id innan du vet vad det är du har tagit emot. Då har du sluppit ett steg i kommunikationen med servern.
Där dom diskuterade att det gick men att man helst inte skulle skicka hela structs
En struct är detsamma som en sekvens med data precis som en array, fast med inbyggt 'offset'. Så det bör ju inte bereda några somhelst problem att skicka structs så länge client och server är ense med hur structen är definierad, eller hur?