Ekim, non on ne peux pas bind les event lié au réseau car comme tu l'as dit, le bindevent est lié aux fenêtres. Il faut donc vérifier ce qu'il ce passe coté réseau à chaques boucle.
Si ça peut t'aider voici un exemple le plus minimaliste possible d'une relation client serveur :
Serveur
Code:
InitNetwork()
CreateNetworkServer(0,5555)
*buffer = AllocateMemory(65000)
Repeat
Select NetworkServerEvent(0)
Case #PB_NetworkEvent_None
Delay(3)
Case #PB_NetworkEvent_Data
;gérer les datas
Case #PB_NetworkEvent_Connect
PokeS(*buffer,"Coucou")
SendNetworkData(EventClient(),*buffer,StringByteLength("Coucou"))
Case #PB_NetworkEvent_Disconnect
;Bye bye
EndSelect
ForEver
client
Code:
Procedure Network(serveur)
Select NetworkClientEvent(serveur)
Case #PB_NetworkEvent_None
Delay(1)
Case #PB_NetworkEvent_Data
Protected *buffer = AllocateMemory(65000)
ReceiveNetworkData(serveur,*buffer,1000)
Debug PeekS(*buffer)
EndSelect
EndProcedure
InitNetwork()
OpenWindow(0,0,0,10,10,"",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
serveur = OpenNetworkConnection("127.0.0.1",5555)
Repeat : Network(serveur) : Until WindowEvent() = #PB_Event_CloseWindow
J'éspère ceci dit que tes yeux n'aurons même pas louché sur le message d'ollivier, car il est évidement impenssable de gérer un serveur via un windowtimer... Déjà par-ce qu'un serveur n'as généralement pas besoin d'une window... Mais aussi par-ce que "Ça appelle une procédure toutes les 300 millisecondes par exemple." ça rajoute surtout 300ms de ping comme ça...
Pour le plaisire et si ton serveur est appelé à gérer plusieurs client, voir même que tu souhaite le multithread, bah ça va bien vite devenire un beau bordel.