static void handle_pingpacket(DragonnetPeer *p, PingPacket *ping)
{
- printf("PingPacket number: 0x%08x\n", ping->number);
+ Blob blob = ping->compr_blob->blob;
+
+ printf("PingPacket siz: 0x%08x\n", blob->siz);
+ printf("PingPacket compr_siz: 0x%08x\n", ping->compr_blob->siz);
+ printf("PingPacket data: 0x%02x%02x\n", blob->data[0], blob->data[1]);
+
+ free(blob->data);
+ free(blob);
dragonnet_peer_send_PongPacket(p, &(PongPacket) {
- .number = ping->number
+ .number = 0xdba,
+ .num_array = {0xd, 0xba},
+ .nested_array = {
+ {0xd, 0xba},
+ {0x13, 0x37}
+ }
});
dragonnet_listener_close(l);
static void handle_pongpacket(DragonnetPeer *p, PongPacket *pong)
{
printf("PongPacket number: 0x%08x\n", pong->number);
+ printf("PongPacket num_array[0]: 0x%02x\n", pong->num_array[0]);
+ printf("PongPacket num_array[1]: 0x%02x\n", pong->num_array[1]);
+ printf("PongPacket nested_array[0][0]: 0x%02x\n", pong->nested_array[0][0]);
+ printf("PongPacket nested_array[0][1]: 0x%02x\n", pong->nested_array[0][1]);
+ printf("PongPacket nested_array[1][0]: 0x%02x\n", pong->nested_array[1][0]);
+ printf("PongPacket nested_array[1][1]: 0x%02x\n", pong->nested_array[1][1]);
dragonnet_peer_close(p);
dragonnet_peer_delete(p);
(void (*)(DragonnetPeer *, void *)) &handle_pongpacket);
dragonnet_peer_run(p);
+ CompressedBlob compr_blob = malloc(sizeof *compr_blob);
+ compr_blob->blob = malloc(sizeof *compr_blob->blob);
+ compr_blob->blob->siz = 2;
+ compr_blob->blob->data = (u8 *) "\x0d\xba";
+
dragonnet_peer_send_PingPacket(p, &(PingPacket) {
- .number = 0xdba
+ .compr_blob = compr_blob
});
+ free(compr_blob->blob);
+ free(compr_blob);
return NULL;
}