[RESOLU] envoyer message du serveur au client

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Dioud
Messages : 12
Inscription : lun. 24/mars/2008 20:31

[RESOLU] envoyer message du serveur au client

Message par Dioud »

bonjour


dans l'help ils nous disent comment envoyer un message au serveur
http://www.purebasic.com/french/documen ... nt.pb.html
http://www.purebasic.com/french/documen ... er.pb.html

mais moi je voudrais faire l'inverse, c'est à dire envoyer un message du serveur au client

j'ai essayer ça

coté serveur

Code : Tout sélectionner

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832
*Buffer = AllocateMemory(1000)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
                SendNetworkString(ClientID, "lol")
 
          Quit = 1
    
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End   





et coté client (ou on reçoit le message)

Code : Tout sélectionner

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832

ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
  ReceiveNetworkData(ClientID, *Buffer, 1000)
     MessageRequester("Info", "String: "+PeekS(*Buffer), 0)
  CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
  
End   
j'ai une erreur (coté client) ici

ReceiveNetworkData(ClientID, *Buffer, 1000)

Merci :D
Dernière modification par Dioud le mar. 26/août/2008 17:50, modifié 1 fois.
Dioud
Messages : 12
Inscription : lun. 24/mars/2008 20:31

Message par Dioud »

Je viens de comprendre mon erreur :)

j'avais juste oublié d'allouer une zone mémoire au début (coté client) :lol:
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Salut,
As tu corrigé ton 1er topic du coup ?
Dioud
Messages : 12
Inscription : lun. 24/mars/2008 20:31

Message par Dioud »

non, le voici corrigé


coté client

Code : Tout sélectionner

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf


*Buffer = AllocateMemory(10000)  


Port = 6832

ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
  ReceiveNetworkData(ConnectionID, *Buffer, 1000)
     MessageRequester("Info", "String: "+PeekS(*Buffer), 0)
  CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
 
End   
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

pourquoi *Buffer = AllocateMemory(10000)
1000 c'est amplement suffisant :wink:



@++
Répondre