1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| void NetworkEngine::recevoirPacket()
{
//Création du packet dans lequel on reçoit
sf::Packet Packet;
Packet.Clear();
////////////////////////////////////////// Boucle Infinie //////////////////////////////////////////////////////////////////
while(true)
{
//Si on n'a pas réussi à recevoir le Packet
if (socketClient.Receive(Packet) != sf::Socket::Done) //Attente de la réception d'une donnée venant du serveur
{}
//Si on a réussi à recevoir le Packet
else
{
cochonTest.vie = 0, cochonTest.nomCochon = "", cochonTest.position.x = 0, cochonTest.position.y = 0, cochonTest.nbFrameCurrent = 0, cochonTest.angle = 0, cochonTest.nbVictoire = 0, cochonTest.nbDefaite = 0;
//////////////////////////On récupère le Packet dans des variables /////////////////////////////////////
Packet >> typePacket >> isConnect >> isCreate >> cochonTest.vie >> cochonTest.nomCochon >> cochonTest.position.x
>> cochonTest.position.y >> cochonTest.nbFrameCurrent >> cochonTest.angle >> cochonTest.nbVictoire >> cochonTest.nbDefaite;
////////////////////////////////////////////////////////////////////////////////////////////////////////
if (typePacket == 1)
recevoirPacket1();
if (typePacket == 2)
recevoirPacket2();
if (typePacket == 3)
recevoirPacket3();
if (typePacket == 4)
recevoirPacket4();
Packet.Clear();
}
//Si le packet a été correctement reçu et récupérer, on le nettoie et on initialise les variables de récupération.
}//Fin de la boucle infinie ///////////////////////////////////////////
} |