vg4->nw->put_zdata()
Put additional-data to be sent along with input-events to the network-server.
SYNTAX
void
vg4->nw->put_zdata(const struct VG_NwZdata *zdata)
FUNCTION PARAMETERS
zdata | Data to be sent |
DESCRIPTION
Put additional-data to be sent along with input-events to the network-server.
The element clnr of zdata needs not to be set.
The network-server will re-send this data to all clients.
The data can be retrieved with vg4->nw->update().
EXAMPLE
/* send additional-data when space-key is pressed, print retrieved additional-data to stdout */ struct VG_NwZdata nw_zdata; VG_BOOL dowait; int clnr; int key_zdata; /* set space-key as local key to send additional-data */ if ((key_zdata = vg4->input->key_insert("Send additional-data", VG_FALSE, VG_FALSE)) == 0) { VG_dest(); exit(1); } vg4->input->key_setkbd(key_zdata, VG_INPUT_KBDCODE_SPACE); /* clnr shall be client-number of local client */ for (;;) { if (!vg4->nw->update(&dowait, &nw_zdata)) { VG_dest(); exit(1); } if (!vg4->nw->is_connected(clnr)) { VG_dest(); exit(0); } /* player pressed key to send additional-data? */ if (vg4->input->key_newpressed(key_zdata)) { struct VG_NwZdata zdata_put; snprintf(zdata_put.data, sizeof(zdata_put.data), "Hello, i am client %d", clnr); zdata_put.size = strlen(zdata_put.data) + 1; /* set string null-terminated */ vg4->nw->put_zdata(&zdata_put); } /* check for additional-data in nw_zdata */ if (nw_zdata.size > 0) { printf("From client %d: %s\n", nw_zdata.clnr, nw_zdata.data); /* data is null-terminated */ } if (dowait) { vg4->misc->wait_time(50); } }
SEE ALSO