ReceiveNetworkData()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

ReceiveNetworkData()

Message par Backup »

pour cette commande : ReceiveNetworkData()
la doc dit :
Resultat = ReceiveNetworkData(Connexion, *BufferMemoire, Longueur)

le nombre d'octets effectivement lus par la fonction est renvoyé dans 'Resultat'. Si 'Resultat' est égal à 'Longueur', alors il reste des données en attente à lire.
la dernière phrase a du mal a etre compris par mon cerveau lent

il me semble qu'il devrai etre ecris :

Si 'Resultat' est égal à 'Longueur', alors il ne reste PLUS de données en attente à lire.

non ?
8O
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

Non, si resultat = longeur, c'est que ton buffer est trop petit et il reste des données a recevoir, il faut donc le reallouer avec une taille plus grande 8)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

cederavic a écrit :Non, si resultat = longeur, c'est que ton buffer est trop petit et il reste des données a recevoir, il faut donc le reallouer avec une taille plus grande 8)
Je ne suis pas trop d'accord. Si resultat = longueur il y a d'autres données en attente, mais il n'est pas nécessaire de réallouer le buffer :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ok comme ça , ça marche :)

Code : Tout sélectionner

 While   ab.d<500000 
    ab.d= ReceiveNetworkData(ConnectionID, Buffer.d , 500000)   
    b.s = b.s+PeekS(Buffer.d,ab.d) 
  Wend
on rempli tant que ab est plus petit que les 500000 indiqué dans la fonction receive :)


Merci a vous .. :)
Répondre