En ce moment, je regarde un peu le principe d'un server/client en pb, histoire de comprendre comment tout cela fonctionne
J'ai fait un petit tchat tout simple.
Mais je n'ai pas réussi à envoyer un message à plusieurs clients en même temps.
Savez-vous ce que je devrais faire pour que tous les clients reçoivent le message du joueur qui a écrit ?
En gros, j'ai repris l'exemple fourni dans la doc de pb, et j'ai ajouté un petit tchat (avec keyboardinkey()).
Et au niveau du server, j'ai changé ça :
Code : Tout sélectionner
Case #PB_NetworkEvent_Data
If ReceiveNetworkData(ClientID, *Buffer, 1000)
;ForEach playerlist()
;If SendNetworkData(playerlist()\id, *Buffer, 1000) ; <<<<<<<<<<<<< ici, j'ai une erreur ima (invalid memory acces)
If SendNetworkData(ClientID, *Buffer, 1000) ;<<<<<<<<<<<<<<<<<<<< ici, ça marche mais chaque jouer ne recoit que son message
EndIf
;Next
FreeMemory(*buffer)
*buffer = AllocateMemory(1000)
EndIf J'ai essayé en créant une structure toute simple pour gérer les clients dans une list et utiliser cette liste dans cet "case", mais ça ne marche pas (voir mon code en commenté).
La structure que j'ai essayé et la liste :
Code : Tout sélectionner
Structure client
id.w
nom$
EndStructure
Global NewList playerlist.client()Merci.