Page 1 sur 1

ReceiveNetworkData()

Publié : ven. 30/mai/2008 17:23
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

Publié : ven. 30/mai/2008 17:44
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)

Publié : ven. 30/mai/2008 18:56
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:

Publié : ven. 30/mai/2008 19:33
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 .. :)