<4 bytes><1 byte><4 bytes><4 bytes><4 bytes>
Donde los campos de 4 bytes son enteros. Como no tenía muy claro como construir un mensaje así (hasta ahora la mayor parte de lo que había hecho con sockets había sido enviando strings), lo único que se me ocurrió fue crearme una estructura:
Código:
Para probar a ver como funcionaba la cosa me hice este código:struct request { int lon; unsigned char id; int index; int begin; int length; };
Código:
Y monitoricé con el Wireshark a ver que pasaba. Lo que se envió fue esto:struct request peticion; peticion.lon=(0xd); peticion.id=0x06; peticion.index=(0x1); peticion.begin=(0x2); peticion.length=(0x3); write(sock,(void *)&peticion,17);
00000006 2B000001 00000002 00000003
Tiene un ligero parecido con la realidad pero no es lo que debería hacer según entiendo yo. Qué es lo que se me está pasando?