[v4 beta 11] Bug avec fonction réseau [Résolu]

Archive.
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

[v4 beta 11] Bug avec fonction réseau [Résolu]

Message par LeCyb »

J'utilise la fonction "getsockname_" de l'api windows et je me retrouve face à un changement de valeur de retour entre la version 3.94 et la version 4.

Code : Tout sélectionner

Structure ws_sockaddr
  Family.w
  Port.w
  IPLong.l
  zeros.l[8]
EndStructure

Procedure.l IsConnected(Connection.l)
  Protected length.l, IP.ws_sockaddr, res.l
  length = SizeOf(IP)
  res = getsockname_(Connection,@IP,@length)
  Debug res ;<---------------- ICI
  If res = 0
    ProcedureReturn #True
  Else
    ProcedureReturn #False
  EndIf
EndProcedure


InitNetwork()
res = OpenNetworkConnection("www.google.com",80)
IsConnected(res)
CloseNetworkConnection(res)
Normalement la valeur de retour devrait être zéro (pour autant que la connection est ok), mais ici je me retrouve avec -1 qui correspond à la constante #SOCKET_ERROR.

Le plus étrange c'est que le même code donne bien zéro avec la 3.94.
Dernière modification par LeCyb le ven. 28/avr./2006 21:52, modifié 1 fois.
Vive le thread-safe !
Fred
Site Admin
Messages : 2652
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

C'est parce que le retour de OpenConnection n'est plus un socket. Utilise ConnectionID() maintenant.
Répondre