A toi de te créer un protocole 
C´est a dire un format logique dans lequel tu envoies tes données.
De plus, je te déconseilles d´envoyer trop de paquets :
Dans ce que tu dis, tu envoies un x, puis tu envoies un y.
Donc tu envoies 2 fois 4 octets, et a chaque fois, tu y colles donc une trame TCP/IP qui fait 10 fois cette taille la. (je ne sais plus exactement la taille de la trame)
Si tu ne veux pas te casser la tete, envoie tout :
Un truc simple, bourrin, mais avec quelques restrictions :
struct Paquet
{
int x[50];
int y[50];
char truc[50];
double machin[10];
};
--> Tout ce que tu veux "transmettre" dans cette structure. Attention, il faut que ce soit réellement dans la structure : tableau statiques, pas de pointeurs.
Et ensuite, il te suffit d´envoyer la structure mise a jour, et, chez le client, de la recevoir dans une structure définie pareillle.
Inconvénients : ne marchera pas sur des processeurs Big Endian (mac & Unix) (mais marchera sous Windows et Linux)
Risque de probleme si tu es sur un systeme 32 bits et ton client sur un systeme 64 bits. ou vice versa
Voila, ça c´est une solution "simple", sinon, il faut que tu te fasses ton propre protocole : en disant que si ton paquet commence par un "1" alors ça veut dire que tu attends cette donnée d´abord, s´il commence par un "2", celle la... etc etc...